【发布时间】:2014-01-04 03:09:58
【问题描述】:
我有一个包含多个项目的大型源代码树。其中一个项目使用了 JNI。
当我尝试在整个源代码树上“清理”时,它会遍历并删除所有目标文件和库。然后它进入我的应用程序目录进行清理。
当它到达我的 JNI 项目时,它会执行“ndk-build clean”,但失败了,因为我链接的库已作为清理的一部分被删除:
ndk-build clean
Android NDK: ERROR:/Users/spartygw/xyz/src/applications/foo/jni/Android.mk:bar: LOCAL_SRC_FILES points to a missing file
Android NDK: Check that /Users/spartygw/xyz/src/applications/foo/jni/../../../../lib/libbar.a exists or that its path is correct
/Users/spartygw/android-ndk-r6b/build/core/prebuilt-library.mk:43: *** Android NDK: Aborting . Stop.
make[3]: *** [clean_android] Error 2
make[2]: *** [clean] Error 2
make[1]: *** [clean] Error 2
make: *** [clean] Error 2
我尝试添加“ndk-build -k clean”和“ndk-build --ignore clean”,但无论如何它都会退出。
如何让 ndk-build 忽略对尚未构建的库的依赖而只清理本地对象?
【问题讨论】:
-
你可以让你的make文件的clean规则先运行“ndk-build clean”。
-
好主意,但如果我做了两次“make clean”,仍然会遇到问题。相信我,如果只是我,我可以忍受它,但如果我像这样将它检查到 git 中,我会收到投诉。
标签: android android-ndk java-native-interface ndk-build