Golang交叉编译Android平台可执行文件(解决linux_arm可执行文件无法在Android5+访问网络。)
Github actions Go语言全平台自动构建: https://github.com/jing332/tts-server-go/blob/master/.github/workflows/test.yml
准备
Golang交叉编译Android平台可执行文件,以便在安卓终端或Termux中运行Go程序。
由于在Android5+后Go构建的linux_arm可执行文件无法访问网络,所以便需要使用NDK参与构建。
NDK下载链接: NDK 下载 | Android NDK | Android Developers (google.cn)
其中CC变量为Android NDK toolchains目录下的编译器
ARM64(v8a/aarch64):
使用CMD运行:
SET GOOS=android
SET GOARCH=arm64
SET CGO_ENABLED=1
SET CC=E:\Android_NDK\android-ndk-r24\toolchains\llvm\prebuilt\windows-x86_64\bin\aarch64-linux-android23-clang.cmd
go build
ARM32(v7a):
使用CMD运行:
SET GOOS=android
SET GOARCH=arm
SET CGO_ENABLED=1
SET CC=E:\Android_NDK\android-ndk-r24\toolchains\llvm\prebuilt\windows-x86_64\bin\armv7a-linux-androideabi19-clang.cmd
go build