Golang交叉编译Android平台可执行文件(解决linux_arm可执行文件无法在Android5+访问网络。)

详见 Golang教程:编译可在Android设备上运行的Go语言程序

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

posted @ 2022-09-09 08:05  jing砸鸭  阅读(2385)  评论(2编辑  收藏  举报