问题一
无法出现Includes引用目录,并且出现Unresolved inclusion: <jni.h>库无法应用的问题
重点请参考终极方案三,在遇到问题所有的方法都用过后可能报Method 'XXX' could not be resolved 等等错误,那最好的办法就是Clean 接着Build Project 最后Restart Eclipse,可多次适用,究其原因还是Eclipse对NDK开发不太友好的缘故!
-
解决方案1
选中项目右键>properties 请看图配置最后点OK:
点击add 依次添加这两个个目录
D:\develop\android-tools\android-ndk-r10e/platforms/android-21/arch-arm/usr/include
D:\develop\android-tools\android-ndk-r10e/toolchains/aarch64-linux-android-4.9/prebuilt/windows-x86_64/lib/gcc/aarch64-linux-android/4.9/include
最后在选择当前项目的jni目录,点击Woekspace然后找到确认
配置完后是这样的:
最后点击OK,,如果需要让你确认请点击Yes,,,,
如果方案1依然无法解决的话,请继续看.................
-
解决方案2
解决方法是将包含该文件的include目录作为新的linked folder加入工程中。具体方法如下:
- 右击工程->New->Folder
- 对话框中点击Advanced
- 选择Link to alternate location (Linked Folder),选择需要的include目录
- Finish后刷新工程,问题解决。
include 目录可以在ndk的安装目录中找到
请见解决方案一的添加的两个目录 - 在此请注意在添加多个目录时候 Folder name的名字请不要重复
-
终极方案3
请找到eclipse的workspaces根目录里的 .metadata>.plugins>com.android.ide.eclipse.ndk 里面如果没有跟你项目对应的文件,请新建一个跟你的Android项目同名的.pathInfo文件,文件内容请见如下:
t,1480405934557
i,jni
i,d:/develop/android-tools/android-ndk-r10e/toolchains/arm-linux-androideabi-4.8/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.8/include
i,D:/develop/android-tools/android-ndk-r10e/platforms/android-21/arch-arm/usr/include
第一行为时间戳,这个时间戳,如果还有跟其他项目同名的文件最好别跟其他项目里的这个时间戳重复,一下是引入的库文件目录,同理如果你还想引用其他的库文件,直接增加一行以最后一行内容为例,地址修改成你要引用的库文件目录地址即可,最后重启您的eclipse即可
- ** 解决方案4**
如果依然不行或者遇到symbol显示错误,请尝试解决方案4,如果解决OK,没解决接着方案3继续操作
重新初始化eclipse对该project的native support 支持
- 在eclipse中关闭指定Project
- 用其他编辑工具打开该project的.project文件,删除以下内容:
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
- 删除.cproject文件
- 在eclipse里打开原来的project, refresh,然后右键->properties->Android Tools -> Add Native Support
- 搞定