在OS X上构建Android独立工具链失败 - “源NDK不支持darwin-x86_64”

时间:2016-05-20 22:26:49

标签: macos android-ndk

我正在尝试按照https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_for_Android_build上的说明在运行OS X El Capitan的Mac上构建适用于Android的Firefox。我的第一次尝试失败,因为Android for Firefox似乎无法使用r11b脚本安装的bootstrap.py NDK进行构建,因此我在Mozilla页面上下载并安装了各种提及的r10e NDK。我已经到了./mach build步骤失败的

 0:06.01 checking for the Android toolchain directory...
 0:06.01 DEBUG: Trying /Users/fkoschara/.mozbuild/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64
 0:06.01 DEBUG: Trying /Users/fkoschara/.mozbuild/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86
 0:06.01 DEBUG: Trying /Users/fkoschara/.mozbuild/android-ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86_64
 0:06.01 DEBUG: Trying /Users/fkoschara/.mozbuild/android-ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/darwin-x86
 0:06.01 DEBUG: Trying /Users/fkoschara/.mozbuild/android-ndk/toolchains/arm-linux-androideabi-4.7/prebuilt/darwin-x86_64
 0:06.01 DEBUG: Trying /Users/fkoschara/.mozbuild/android-ndk/toolchains/arm-linux-androideabi-4.7/prebuilt/darwin-x86
 0:06.01 ERROR: You have to specify --with-android-toolchain=/path/to/ndk/toolchain.

,因为

ls: /Users/fkoschara/.mozbuild/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64: No such file or directory

我尝试创建一个独立的工具链,但是当我运行$ ~/.mozbuild/android-ndk/build/tools/make-standalone-toolchain.sh --toolchain=arm-linux-androideabi-4.9 --platform=android-21 --system=darwin-x86_64 --install-dir=/Users/fkoschara/.mozbuild/android-ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64时,我得到了

Host system 'darwin-x86_64' is not supported by the source NDK!
Try --system=<name> with one of:  linux-x86_64

我在没有--system=darwin-x86_64的情况下再次尝试并获得了

Host system 'darwin-x86' is not supported by the source NDK!
Try --system=<name> with one of:  linux-x86_64

如何获得Darwin工具链以便我可以进行交叉编译?

1 个答案:

答案 0 :(得分:1)

在Android Studio捆绑之前,NDK发布曾经是普通的ZIP文件,因此很容易犯错误:在错误的平台上安装NDK。在您的情况下,您碰巧在Mac上安装了Linux 64位版本。毫无疑问,这是行不通的。我很惊讶您甚至可以运行ndk-build,因为它通常使用make的捆绑版本,而不是系统中安装的版本。也许从你的苦难的故事中省略了选择正确make的部分。