Android NDK构build,Method无法parsing
我有一个本地代码的Android项目。 我能够通过调用ndk-build
命令而不是错误或警告来从命令行构build本机代码。 但是,当我在ADT中打开它时,显示以下错误。
错误消息: Method CallStaticIntMethod could not be resolved.
项目中有很多错误类似的文件。
我加倍检查configuration,这是我有。 Android构build,工具链和包括正确configuration(见下图)
必需包括也是在项目浏览器中可见的,它们是有效的(不是空的,并指向正确的头文件)。
但是,当我Clean
项目,并Build
它,错误仍然存在。 任何想法如何解决这个问题?
configuration:ADT 22.6.2,NDK r9d(64位),OSX 10.9.2
经过一番苦恼,终于find了解决办法。 这是NDK插件中的一个错误 ,报告给AOSP,但尚未修复。 答案的过去在第50条评论中描述。 这是我为我工作的顺序。
- 打开项目属性 – > C / C ++生成 – > 工具陈编辑器
- 在“
Used Tools
”一节中,Used Tools
GCC C Compiler
replaceAndroid GCC Compiler
GCC C Compiler
。 如果部分是空的,只需在其中添加GCC C Compiler
条目。 -
打开项目属性 – > C / C ++常规 – > path和符号,并添加目录,其中包括您的H文件所在的位置。 使用向上移动button添加一个文件夹与您本地包括(
/AudioPlayer/jni
在我的情况)到第一个地方。 然后添加平台和工具链包括。 内置的包括应该停留在最底层。 在我的情况下,工具链的完整path如下所示。 这些是原始Android GCC Compiler
工具链的内置path,我们在步骤2中已经replace了这些path。/Tools/android-ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.6/include /Tools/android-ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/darwin-x86_64/lib/gcc/arm-linux-androideabi/4.6/include-fixed
-
按OKbutton, 清理并重新构build项目。 所有的错误必须消失。 如果他们留下来,请尝试从“ 问题”视图中删除它们,并再次重新构build项目。
更新:我find了另一个地方,你可以添加path包含文件。 但是,它似乎是依赖于Eclipse版本。 项目设置 – > C / C ++常规 – >处理器包括path,macros等 – > CDT用户设置条目 – >添加 。 在我添加上面列出的path之后,就没有编译问题了。 发展很有趣。
是的,它由IDE引起的不知道你所有的头和你连接的库都在哪里。 错误是由IDE的自动完成/错误系统生成的。 你可以在eclipse中修改你的包含,或者把它们作为错误消除。
我有一个类似的错误,并通过从Android GCC编译器更改为GCC C编译器并更新包含目录后,通过项目 – >属性 – >发现选项并将发现configuration文件从托pipe构build系统更改为GCC来解决。
- 当我加载ADT时,为什么我收到错误“Android SDK需要Android Developer Toolkit版本XX.XX或以上?
- Eclipse / Android:“错误正在运行的构build器”Android项目编译器“项目…”
- 如何将javadoc或源文件附加到libs文件夹中的jar文件中?
- 无法将Eclipse ADT更新到22
- 错误讯息:此Android SDK需要Android Developer Toolkit版本22.6.1或以上
- RecyclerView丢失
- 此Android SDK需要Android Developer Toolkit版本23.0.0或更高版本
- 哪个Eclipse版本应该用于Android应用程序?
- 卸载Android ADT