【问题标题】:How to remove native support from an Android Project in eclipse because eclipse is showing errors in jni?由于eclipse在jni中显示错误,如何从eclipse中的Android项目中删除本机支持?
【发布时间】:2012-07-15 07:08:44
【问题描述】:

我不小心点击了“Android 工具”中的“添加本机支持”...这弄乱了我项目的所有 jni 文件。我该如何撤消它?如何从我的 Android 项目中删除本机支持?

【问题讨论】:

    标签: android eclipse android-ndk java-native-interface


    【解决方案1】:

    使用新的 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 的东西。

    【讨论】:

      【解决方案2】:

      在文本编辑器中打开您的 .project 文件,然后删除 CDT 和 C 性质的条目。它们很容易与 JDT 区别开来。我已经这样做了好几次了,这没什么危险,但为了安全起见,请备份副本。

      编辑:Project Properties -> Builders -> Remove CDT Builder 也有可能,但从未尝试过。

      【讨论】:

      • 在 Eclipse 满意之前,我不得不删除项目,然后将其导入工作区。
      【解决方案3】:

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

      1. 关闭 Eclipse 项目(例如通过退出 Eclipse)。

      2. 在文本或 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>

      3. 彻底删除.cproject文件。

      【讨论】:

      • 有时需要(至少从 eclipse Kepler 开始)从您的工作区(而不是磁盘上的内容)中删除项目引用,然后按照上述步骤重新导入。见pilcrowpipe.blogspot.com/2011/12/…
      • 它对我有用,谢谢。我已经从 Eclipse 中删除了构建命令,现在我在项目的属性中看不到 C/C++。
      • 它也对我有用。但我需要从 eclipse 中删除项目并重新导入。
      • 如果存在 .externalToolBuilders 从项目根文件夹中删除
      • 上述步骤很有帮助,但在遵循它们之后,我无法再构建我的应用程序。我收到一条相当迟钝的错误消息:make: *** [clean-installed-binaries] 错误 127。搜索此错误消息并没有提供任何具体问题或解决方案的指示。我找到的唯一解决方案是删除该项目,然后重新添加它,然后问题就神奇地消失了。
      【解决方案4】:

      请按照以下步骤操作,希望对您有所帮助。

      Android 工具之后 -> 添加原生支持。 它将在 jni 文件夹中生成 cpp 文件。而eclipse也无法解决。 这是一种修复方式。

      1. 第一步

        右键 PJ -> 添加新文件夹 -> 在对话框中添加新文件夹,单击高级>> 选中链接文件夹 -> 借入 [{NDK_PATH}/platforms/android-21/arch-arm/usr/include ] (我用的是android -21,你可以改变它)(1)-->好的

      2. 第 2 步

        右键单击 PJ -> 属性 -> C/CC 常规 -> 路径和符号 -> 包含选项卡 -> 添加 -> 工作空间 -> 在项目中选择包含文件夹 (1) -> 确定。刷新并重建。

      【讨论】:

        【解决方案5】:

        只需删除jni文件夹并在c/c++界面中清除项目

        【讨论】:

          猜你喜欢
          • 2015-11-23
          • 1970-01-01
          • 2018-09-22
          • 2012-05-06
          • 2021-08-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多