如何在eclipse中删除Android项目的本机支持,因为eclipse在jni中显示错误?

Ami*_*mit 26 eclipse java-native-interface android android-ndk

我不小心点击了"Android工具"中的"添加原生支持"...这搞砸了我项目的所有jni文件.我该如何撤消?如何从我的Android项目中删除本机支持?

ble*_*ter 33

我可以找到从项目中可靠地删除C性质的唯一方法是手动编辑项目的Eclipse .project文件.

  1. 关闭Eclipse项目(例如,退出Eclipse).

  2. .project在文本或xml编辑器中打开文件.将至少<buildCommand>需要删除2个节点.删除<buildCommand>名称org.eclipse.cdt.managedbuilder.core.genmakebuilder及其所有子<buildCommand>节点以及具有名称org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder及其子节点的节点.最后,删除行:

    <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>

  3. 完全删除该.cproject文件.

  • 有时需要(至少从eclipse Kepler开始)从工作区中删除项目引用(不是磁盘上的内容),然后在执行上述步骤后重新导入它.请参阅http://pilcrowpipe.blogspot.com/2011/12/removing-native-support-from-android.html (5认同)

Tan*_*cho 27

使用新的ADT 20,如果项目有一个jni文件夹或/和一个Android.mk文件,默认情况下插件会添加c ++性质,

通常,要删除C++性质,您只需要删除项目树中的.cproject文件,删除并重新导入工作区中的项目,然后就可以了(删除c ++项目性质).

但我认为你应该只添加宏定义和构建导入,eclipse将正常工作.如果你去

Project properties->C/C++ general->Paths and symbols
Run Code Online (Sandbox Code Playgroud)

并在那里添加NDK包含相应平台的路径(类似)

{NDK_PATH}/platforms/android-9/arch-arm/usr/include 
Run Code Online (Sandbox Code Playgroud)

并且所有构建脚本都添加了导入以及任何构建脚本声明宏eclipse将处理jni的东西就好了.