如何從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 關注
- 129 瀏覽
添加回答
舉報
0/150
提交
取消
