您如何定义 ndk-build 使用的 NDK 安装?
How do you define the NDK installation that ndk-build uses?
您如何定义 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
已修复。问题是,当 .bash_profile 文件在给定的终端会话中成功获取时,它对其他打开的终端实例没有任何影响。我打开了两个终端实例,因为我没有关闭调用 ndk-build 的那个实例,所以没有应用对 .bash_profile 的更改。
您如何定义 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
已修复。问题是,当 .bash_profile 文件在给定的终端会话中成功获取时,它对其他打开的终端实例没有任何影响。我打开了两个终端实例,因为我没有关闭调用 ndk-build 的那个实例,所以没有应用对 .bash_profile 的更改。