Loading... ## 环境 OS: Ubuntu 18.04 JDK: 11.0.11 Go: 1.16.3 Android SDK: android-30 Android NDK: 22.1.7171670 Frp: 0.36.2 ## Set env 编辑 `/etc/profile` ```bash export ANDROID_HOME=/usr/local/android/sdk export ANDROID_SDK_MANAGER=$ANDROID_HOME/cmdline-tools/latest export ANDROID_NDK_HOME=$ANDROID_HOME/ndk export JAVA_HOME=/usr/local/jdk/jdk-11.0.11 export GOROOT=/usr/local/go export GOBIN=$GOROOT/bin export PATH=$PATH:$JAVA_HOME/bin export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_SDK_MANAGER/bin:$ANDROID_HOME/platform-tools:$ANDROID_NDK_HOME export PATH=$PATH:$GOBIN ``` ## JDK 11 [Download JDK11](https://www.oracle.com/java/technologies/javase-jdk11-downloads.html) 1. 解压 2. 将 `jdk-11.0.11` 移动至 `/usr/local/jdk` 目录下 ## Go [Download Go](https://golang.org/dl/) 1. 解压 2. 将 `go` 移动至 `/usr/local` 目录下 ## Android SDK and NDK [Download Android SDK Manager](https://developer.android.com/studio?hl=zh-cn#cmdline-tools) [Android SDK Manager Doc](https://developer.android.com/studio/command-line/sdkmanager?hl=zh-cn) 1. 将 `cmdline-tools` 重命名为 `latest` 2. 将 `latest` 目录移动到 `/usr/local/android/sdk/cmdline-tools` 目录下 3. 执行 `sdkmanager --verbose "platform-tools" "platforms;android-30" "ndk;22.1.7171670"` 4. 为 NDK 建立软连接,便于 gomobile 找到 `ln -s /usr/local/android/sdk/ndk/22.1.7171670/ /usr/local/android/sdk/ndk-bundle` ## gomobile ```bash go get golang.org/x/mobile/cmd/gomobile go get golang.org/x/mobile/cmd/gobind ``` ## Frp ```bash git clone https://github.com/fatedier/frp $(go env GOPATH)/src/github.com/fatedier/frp ``` 编辑 `$(go env GOPATH)/src/github.com/fatedier/frp/cmd/frpc/sub/root.go` ```go ...... 108 - err := runClient(cfgFile) 108 + err := RunClient(cfgFile) ...... 182 - func runClient(cfgFilePath string) (err error) { 182 + func RunClient(cfgFilePath string) (err error) { ``` 编辑 `$(go env GOPATH)/src/github.com/fatedier/frp/cmd/frpc/main.go` ```go ...... 15 - package main 15 + package frpclib ...... 34 + func Run(cfgFilePath string) error { 35 + crypto.DefaultSalt = "frp" 36 + return sub.RunClient(cfgFilePath) 37 + } ``` ```bash cd $(go env GOPATH)/src/github.com/fatedier/frp go mod download gomobile init gomobile bind -target=android ./cmd/frpc ``` 最后修改:2022 年 01 月 03 日 © 允许规范转载