我一直在不断尝试为 Android NDK 构建示例 HelloJni 示例项目。
我如何设置环境:
我按照文档中的入门说明进行操作:android-ndk-r10d\docs\Getting_Started/html/index.html:
- 下载 Eclipse Luna
- 下载 Android SDK
- 已下载 Android NDK:android-ndk-r10d
- 在首选项窗口 -> android -> NDK 中设置 eclipse 中的 NDK 安装文件夹。
- 导入了 hellp-jni 示例。
- 右键单击 HelloJni 项目 -> Android 工具 -> 添加 native 支持。
- 清理并构建项目。
- 在我的设备上运行 HelloJni 库(不是测试)
应用程序正在运行,一切正常,我可以在项目的 libs 文件夹中看到每个架构生成的 .so 文件(对于每个架构,例如 armebi、mips 等...)
这是一个打印屏幕,显示一切正常
奇怪的部分来了......
问题:
如果我在 eclipse 中打开 hello-jni.c 文件进行编辑或查看,我突然看到编译错误,我无法构建,也无法再运行该项目...
这是一个打印屏幕,显示在我打开文件后,我突然遇到编译错误:
我已经尝试但失败的:
- 添加 Android Native Nature,然后通过以下方式删除它: 删除 .project 文件, buildCommand 标签:org.eclipse.cdt.managedbuilder.core.genmakebuilde, buildCommand 标签:org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder 并删除行: [自然]org.eclipse.cdt.core.cnature[/自然] [性质]org.eclipse.cdt.core.ccnature[/性质] [性质]org.eclipse.cdt.managedbuilder.core.managedBuildNature[/性质] [性质]org.eclipse.cdt.managedbuilder.core.ScannerConfigNature[/自然] 删除 .cproject 和所有已编译的文件。 然后添加回 Android Native Nature。
根据这个 stackoverflow 链接: Eclipse ADT - Unresolved inclusion jni.h
失败
- 一旦我得到错误(我不再得到它):无法启动 cygpath。 Cygwin 在路径上吗?] java.io.IOException:无法运行程序“cygpath”。所以我用谷歌搜索并更改了build设置以提供我的 NDK 安装文件夹的绝对路径:
根据这个 stackoverflow 链接: Unable to launch cygpath in android
这是一个打印屏幕:
失败
- 将使用的工具从 Android GCC 编译器更改为 GCC C 编译器
根据这个 stackoverflow 链接: Android NDK build, Method could not be resolved
这是一个打印屏幕:
失败
- 从一个 friend 那里复制一个 eclipse Luna 安装,这个项目正在为他工作。
失败
我已经为此花费了数小时,但我找不到任何解决方案来解释为什么会发生这种情况。
请帮忙
最佳答案
当您尝试在没有正确配置的情况下在 JAVA 工作区/透视图中编辑 C/C++ 文件时,这是一个常见问题。 您只需选择错误日志中的所有条目并将其删除。
关于android - 仅在eclipse中打开hello-jni.c文件时在eclipse中编译Hello-Jni失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27462754/