【发布时间】:2016-07-06 18:15:45
【问题描述】:
您如何定义 ndk-build 使用的 NDK 安装?我使用 r10e 构建了很长一段时间,然后更新了我的 NDK 并修改了我的 $PATH 以指向新位置,但是当我在终端中使用 ndk-build 命令构建时,它仍然使用旧的 android-ndk-r10e 版本。
我知道这一点是因为我在调用 ndk-build 时使用了 NDK_LOG=1 选项,它在构建我的项目时会生成以下详细信息。请注意对“/NDKDev/android-ndk-r10e”的引用。那是我的旧安装。
~/Documents/MyNDKProject-- $ ndk-build NDK_LOG=1
HOST_OS=darwin
HOST_ARCH=x86_64
HOST_TAG=darwin-x86_64
GNUMAKE=/Users/user1/Documents/NDKDev/android-ndk-r10e/prebuilt/darwin-x86_64/bin/make (NDK prebuilt)
Android NDK: NDK installation path auto-detected: '/Users/user1/Documents/NDKDev/android-ndk-r10e'
Android NDK: GNU Make version 3.81 detected
Android NDK: Host OS was auto-detected: darwin
Android NDK: Host operating system detected: darwin
Android NDK: Host CPU was auto-detected: x86
Android NDK: HOST_TAG set to darwin-x86
Android NDK: Host tools prebuilt directory: /Users/user1/Documents/NDKDev/android-ndk-r10e/prebuilt/darwin-x86_64/bin
Android NDK: Host 'echo' tool: echo
. . .
另请注意,当我在终端提示符下输入 echo $PATH 时,它会给出:
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin/:/sbin:/usr/local/bin:/Applications/android-sdk-macosx/ndk-bundle:/Applications/android-sdk-macosx
您看到 /Applications/android-sdk-macosx/ndk-bundle 的位置正是它用于引用 android-ndk-r10e 路径的位置,所以我确定我已经成功更新了我的 PATH。所以无论如何,如果 PATH 环境变量不是 ndk-build 用来确定要使用的 NDK 安装的,它使用什么,以及如何修改它以便它使用我的新安装:
/Applications/android-sdk-macosx/ndk-bundle
【问题讨论】:
-
which ndk-build的输出是什么? -
@Francesca -- 哇。其中 ndk-build 产生了“/Applications/android-sdk-macosx/ndk-bundle/ndk-build”。那么为什么构建输出显示我的旧版本?
-
看来你自己知道原因了:)
-
@Francesca -- 是的。在你不可或缺的帮助下。 :)
标签: android macos command-line android-ndk ndk-build