使用Android NDK r13b编译底层原生库时,提示找不到make。一开始以为是NDK下载出错导致,后来反复测试,问题仍然存在,遂排除下载问题。
进到NDK解压目录下,执行ndk-build 也是一样。
root@ubuntu:/home/AndroidWork/android-ndk-r13b#
root@ubuntu:/home/AndroidWork/android-ndk-r13b# ./ndk-build
ERROR: Cannot find 'make' program. Please install Cygwin make package
or define the GNUMAKE variable to point to it.
root@ubuntu:/home/AndroidWork/android-ndk-r13b#
错误如上提示。
android-ndk-r11c 和 android-ndk-r12b 皆是如此
换r14b版本测试,则是正常的。进到工具目录下执行测试,不会提示make找不到的问题。
root@ubuntu:/home/AndroidWork#
root@ubuntu:/home/AndroidWork# cd android-ndk-r14b
root@ubuntu:/home/AndroidWork/android-ndk-r14b# ./ndk-build
Android NDK: Could not find application project directory !
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.
/home/AndroidWork/android-ndk-r14b/build/core/build-local.mk:151: *** Android NDK: Aborting . Stop.
root@ubuntu:/home/AndroidWork/android-ndk-r14b#
root@ubuntu:/home/AndroidWork/android-ndk-r14b#
可以找到make程序
该版本可以正常编译原生库
于是,看了下这个脚本,很简单,引用的是 buil目录下的另一个ndk-build脚本。进一步查看该目录下的ndk-build,发现有设置环境变量的地方。
于是对比了下这几个版本的上述脚本,发现出现问题的版本,脚本里的路径有错误。如下图:
可以看到,少一层父目录。
相关工具在上一层目录下,而不在build自身目录下。故找不到。
对比r14b版本修改路径后即可。