如何从MacOS交叉编译到Android原生二进制文件。我读了这个,我必须做:export NDK_ROOT=~/dev/ndk-toolchain./android-ndk-r10c/build/tools/make-standalone-toolchain.sh --platform=android-16 --install-dir=$NDK_ROOTexport NDK_CC=~/dev/ndk-toolchain/bin/arm-linux-androideabi-gccCC_FOR_TARGET=$NDK_CC GOOS=android GOARCH=arm GOARM=7 ./make.bashexport NDK_TOOLCHAIN=~/dev/ndk-toolchainexport CC=$NDK_TOOLCHAIN/bin/arm-linux-androideabi-gccexport GOROOT=~/dev/goexport GOPATH=`pwd`export GOOS=androidexport GOARCH=armexport GOARM=7export CGO_ENABLED=1GO="$GOROOT/bin/go"$GO build -x main.go我从 Android Studio 安装了 NDK,但找不到提到的路径/dev/ndk-toolchain/bin/arm-linux-androideabi-gcc在我的设备中,我有:$ cd /Users/hajsf/Library/Android/sdk/ndk/22.1.7171670/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64$ lsarm-linux-androideabi bin lib share$ cd bin$ lsarm-linux-androideabi-addr2line arm-linux-androideabi-elfedit arm-linux-androideabi-nm arm-linux-androideabi-sizearm-linux-androideabi-ar arm-linux-androideabi-gprof arm-linux-androideabi-objcopy arm-linux-androideabi-stringsarm-linux-androideabi-as arm-linux-androideabi-ld arm-linux-androideabi-objdump arm-linux-androideabi-striparm-linux-androideabi-c++filt arm-linux-androideabi-ld.bfd arm-linux-androideabi-ranlibarm-linux-androideabi-dwp arm-linux-androideabi-ld.gold arm-linux-androideabi-readelf$
2 回答
慕斯709654
TA贡献1840条经验 获得超5个赞
不确定这是正确的还是否定的,我尝试了以下方法,它以我想要的方式与我一起工作。在我的 Mac 中:
$ GOOS=android GOARCH=arm64 GO build -x main.go
然后我把文件保存在GDrive,然后从我的手机下载它,然后与共享它,并把它保存在我去那里的文件夹中,并让它可执行为:Tramux
~/Downloads
$ chmod +x server
然后将其运行为:
$ ./server
并让它与我一起工作!
繁华开满天机
TA贡献1816条经验 获得超4个赞
我下载了NDK,解压缩了它,并找到了正确的路径:
/Users/hajsf/Downloads/android-ndk-r21e/toolchains/llvm/prebuilt/darwin-x86_64/bin
并能够编译为:
$ export NDK=~/Downloads/android-ndk-r21e
$ CGO_ENABLED=1 \
GOOS=android \
GOARCH=arm64 \
CC_FOR_TARGET=$NDK/toolchains/llvm/prebuilt/darwin-x86_64/bin/aarch64-linux-android21-clang
$ GO build -x main.go
在这个,有这行,但它给了我一个错误,并且机智地,我能够正确编译
./all.bash
- 2 回答
- 0 关注
- 106 浏览
添加回答
举报
0/150
提交
取消