交叉编译到原生机器人

如何从MacOS交叉编译到Android原生二进制文件。


我读了这个,我必须做:


export NDK_ROOT=~/dev/ndk-toolchain

./android-ndk-r10c/build/tools/make-standalone-toolchain.sh --platform=android-16 --install-dir=$NDK_ROOT


export NDK_CC=~/dev/ndk-toolchain/bin/arm-linux-androideabi-gcc

CC_FOR_TARGET=$NDK_CC GOOS=android GOARCH=arm GOARM=7 ./make.bash


export NDK_TOOLCHAIN=~/dev/ndk-toolchain

export CC=$NDK_TOOLCHAIN/bin/arm-linux-androideabi-gcc

export GOROOT=~/dev/go

export GOPATH=`pwd`

export GOOS=android

export GOARCH=arm

export GOARM=7

export CGO_ENABLED=1


GO="$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

$ ls

arm-linux-androideabi   bin         lib         share

$ cd bin

$ ls

arm-linux-androideabi-addr2line arm-linux-androideabi-elfedit   arm-linux-androideabi-nm    arm-linux-androideabi-size

arm-linux-androideabi-ar    arm-linux-androideabi-gprof arm-linux-androideabi-objcopy   arm-linux-androideabi-strings

arm-linux-androideabi-as    arm-linux-androideabi-ld    arm-linux-androideabi-objdump   arm-linux-androideabi-strip

arm-linux-androideabi-c++filt   arm-linux-androideabi-ld.bfd    arm-linux-androideabi-ranlib

arm-linux-androideabi-dwp   arm-linux-androideabi-ld.gold   arm-linux-androideabi-readelf


蝴蝶刀刀
浏览 107回答 2
2回答

慕斯709654

不确定这是正确的还是否定的,我尝试了以下方法,它以我想要的方式与我一起工作。在我的 Mac 中:$ GOOS=android GOARCH=arm64 GO build -x main.go然后我把文件保存在GDrive,然后从我的手机下载它,然后与共享它,并把它保存在我去那里的文件夹中,并让它可执行为:Tramux~/Downloads$ chmod +x server然后将其运行为:$ ./server并让它与我一起工作!

繁华开满天机

我下载了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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go