【发布时间】:2012-07-15 07:08:44
【问题描述】:
我不小心点击了“Android 工具”中的“添加本机支持”...这弄乱了我项目的所有 jni 文件。我该如何撤消它?如何从我的 Android 项目中删除本机支持?
【问题讨论】:
标签: android eclipse android-ndk java-native-interface
我不小心点击了“Android 工具”中的“添加本机支持”...这弄乱了我项目的所有 jni 文件。我该如何撤消它?如何从我的 Android 项目中删除本机支持?
【问题讨论】:
标签: android eclipse android-ndk java-native-interface
使用新的 ADT 20,如果项目有 jni 文件夹或/和 Android.mk 文件,则插件默认添加 c++ 特性,
一般要移除 C++ 特性,您只需删除项目树中的 .cproject 文件,移除并重新导入工作区中的项目即可(移除 C++ 项目特性)。
但我认为您应该只添加宏定义并构建导入,Eclipse 就可以正常工作。 如果你去
Project properties->C/C++ general->Paths and symbols
然后为相应平台添加 NDK 的路径 (类似)
{NDK_PATH}/platforms/android-9/arch-arm/usr/include
您的所有构建脚本都添加了导入以及任何构建脚本声明的宏 eclipse 会很好地处理 jni 的东西。
【讨论】:
在文本编辑器中打开您的 .project 文件,然后删除 CDT 和 C 性质的条目。它们很容易与 JDT 区别开来。我已经这样做了好几次了,这没什么危险,但为了安全起见,请备份副本。
编辑:Project Properties -> Builders -> Remove CDT Builder 也有可能,但从未尝试过。
【讨论】:
我能找到可靠地从项目中删除 C 特性的唯一方法是手动编辑项目的 Eclipse 的 .project 文件。
关闭 Eclipse 项目(例如通过退出 Eclipse)。
在文本或 xml 编辑器中打开 .project 文件。至少有 2 个<buildCommand> 节点需要删除。删除名称为 org.eclipse.cdt.managedbuilder.core.genmakebuilder 的 <buildCommand> 节点及其所有子节点,以及名称为 org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder 的 <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文件。
【讨论】:
请按照以下步骤操作,希望对您有所帮助。
Android 工具之后 -> 添加原生支持。 它将在 jni 文件夹中生成 cpp 文件。而eclipse也无法解决。 这是一种修复方式。
第一步
右键 PJ -> 添加新文件夹 -> 在对话框中添加新文件夹,单击高级>> 选中链接文件夹 -> 借入 [{NDK_PATH}/platforms/android-21/arch-arm/usr/include ] (我用的是android -21,你可以改变它)(1)-->好的
第 2 步
右键单击 PJ -> 属性 -> C/CC 常规 -> 路径和符号 -> 包含选项卡 -> 添加 -> 工作空间 -> 在项目中选择包含文件夹 (1) -> 确定。刷新并重建。
【讨论】:
只需删除jni文件夹并在c/c++界面中清除项目
【讨论】: