Android NDK 构建,方法无法解析

2024-04-29

我有一个带有本机代码的 Android 项目。我可以通过调用从命令行构建本机代码ndk-build命令没有错误或警告。但是当我在ADT中打开它时,它显示以下错误。

错误信息:Method CallStaticIntMethod could not be resolved.项目中有很多文件有类似的错误。

我仔细检查了配置,这就是我所拥有的。 Android 构建、工具链和包含内容均已正确配置(见下图)

所需的包含在项目资源管理器中也可见,并且它们是有效的(非空并指向正确的头文件)。

但当我Clean该项目和Build它,错误仍然存​​在。关于如何解决这个问题有什么想法吗?

配置:ADT 22.6.2、NDK r9d(64 位)、OSX 10.9.2


经过一番与偏好的斗争后,我终于找到了解决方案。这是一个bug https://code.google.com/p/android/issues/detail?id=33788在 NDK 插件中,已向 AOSP 报告但尚未修复。评论#50 中描述了答案的过去。这是对我有用的顺序。

  1. Open 项目属性 -> C/C++ 构建 -> 工具陈编辑器
  2. In the section Used Tools replace Android GCC Compiler with GCC C Compiler. If section is empty, just add GCC C Compiler entry in there. enter image description here
  3. Open Project Properties -> C/C++ General -> Paths and Symbols and add directories, where your h-files to be included are located. Use Move up button to add a folder with your local includes (/AudioPlayer/jni in my case) to the first place. Then add platform and toolchains includes. Built-in includes should stay at the very bottom. enter image description here In my case the full paths to the toolchain includes were like below. These are built-in paths of original Android GCC Compiler toolchain, which we have replaced at step 2.

    /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
    
  4. Press OK按钮,clean and re-build该项目。所有错误都必须消失。如果它们留下来,请尝试将它们从Problems再次查看并重新构建项目。

Update:我找到了另一个地方,您可以在其中添加包含文件的路径。然而,它似乎与 Eclipse 版本相关。项目设置 -> C/C++ 常规 -> 处理器包括路径、宏等 -> CDT 用户设置条目 -> 添加。添加上面列出的路径后,就不再有编译问题了。开发又变得有趣了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android NDK 构建,方法无法解析 的相关文章

随机推荐

  • 如何使用各个属性中的所有验证属性序列化模型?

    上下文 使用 mvc 控制器方法创建 jsonP 服务 该服务提供表单字段的定义 包括所有验证规则 我的问题是我不知道如何序列化验证属性 我更喜欢验证属性的格式与在常规 Mvc 视图中使用不显眼的验证时由 Razor 序列化的格式相同 为了
  • 更改 WCF 中的命名空间和 schemaLocation 属性

    我用 C 开发了一个 WCF 服务 我们的客户已经有一个用 Java 编写的客户端软件 他们说当他们尝试添加我们的 wcf 服务引用时 他们收到错误 他们认为问题在于命名空间 我对 WCF 中的命名空间或任何其他标记详细信息了解不多 他们说
  • Android - Google+ 共享状态失败

    我查看了 Google 关于如何将 Android 应用程序的状态共享到 Google 的说明 https developers google com mobile android share https developers google
  • $(sel).bind("click", $(sel).click(, $(sel).live("click", $(sel).on("click") 之间有什么显着差异?

    我已经使用它们很长一段时间了 但大多数时候 我更喜欢较短的 但是 我只想真正深入了解本质细节 我可能一直在创建有缺陷的代码 并且我不想在网络上贡献和传播懒惰完成的代码 所以告诉我 它们之间有哪些显着的优点 缺点 或者是 就像冰淇淋一样 不同
  • 如何使用 C# SDK 连接到 facebook 并调试 facebook 应用程序

    我真的很努力地试图找到一些真正适用于基础知识的启动和运行的东西 即使是 SDK 附带的教程应用程序似乎也必须上传才能工作 因此没有简单的方法在本地调试和测试它 有人有我可以使用的工作示例的链接吗 Cheers 这就是我目前在我的 aspx
  • 如何使用python自动将基于CSV的表创建到postgres中

    我是一名新的 Python 程序员 尝试使用 python 脚本将示例 CSV 文件导入到我的 Postgres 数据库中 我有一个名为abstable1的CSV文件 它有3个标题 Absid 名称 编号 我的一个文件夹中有很多这样的文件
  • 在 virtualenv 中通过 pip 安装 PyGObject [重复]

    这个问题在这里已经有答案了 我实际上正在将旧的 django 应用程序从 python2 7 升级到 python3 4 通过 pip 安装 pygobject 时 出现此错误 Collecting pygobject Using cach
  • Netbeans 将 css 变量显示为错误

    当我使用 css 变量时 我的 Netbeans IDE 显示错误 例如 这行代码将返回错误 root main bg color dad66f title color var main bg color 我在网上找到了这个解决方案 htt
  • 尽管+ geom_line() 图表中没有线条

    我已阅读文档 我认为我的代码应该是正确的 但输出中的点之间仍然没有线条 怎么了 x 轴是离散的 y 轴是连续的 My code point sqrmPrice lt ggplot overview df aes x areaSize y s
  • Maven 依赖类型 ejb 与 jar

    有什么区别
  • jQuery CouchDB - 视图的过滤键

    我正在使用与 couchdb 捆绑在一起的 javascript 库来查询数据库 附带说明一下 这里很好地概述了它提供的功能 并提供了很多很好的示例 http bradley holt com 2011 07 couchdb jquery
  • 根据条件添加 vue 指令

    是否可以根据条件设置指令 我有一个 粘性 指令来使元素粘在屏幕上 我有一个正在使用的社交分享组件
  • 用户表中发生“数据操作操作在此视图上不合法”

    当我尝试在属于我正在使用的用户的表上插入值时 会发生此错误 SQL Error ORA 01732 data manipulation operation not legal on this view Cause Action 在人们所说的
  • .htaccess php_value include_path 不起作用

    我在当地有一个小项目 我在 Windows 下使用 XAMPP 工作 我的文件目录结构是 根目录 C xampp htdocs routes Under this folder I have my bootstrap php with th
  • python 中的最小堆

    我想通过定义自定义比较函数将一组对象存储在最小堆中 我看到有一个 heapq 模块作为 python 发行版的一部分可用 有没有办法在此模块中使用自定义比较器 如果没有 其他人是否构建了自定义最小堆 两个选择 除了 Devin Jeanpi
  • Android Studio 点击 Android 设备监视器时出现错误

    每当我单击 Android 设备监视器时 我都会在 android studio 中遇到此错误 Monitor An error has occurred See the log file C Users
  • 稍后如何附加到正在运行的 Docker 容器?

    我想简单地启动一个 docker 容器来执行一些 java 代码 最终启动 JBoss 这工作正常 只是我不知道如何再次连接到容器并返回到 bash 提示符 这就是我启动容器的方式 docker run i t p 80 80 v tmp
  • 如何在powershell中使用system.tuple?

    只是出于好奇 这不是 我必须拥有它 而是如何在 powershell 中使用 system tuple 类声明元组 我正在使用 powershell exe config 加载框架 4 0 但无法创建元组 尝试这个 PS C ps1 gt
  • igraph 中的颜色特定节点

    我正在尝试为节点 6 和 7 着色 无论从对象 d 中选择什么字母 g lt graph from literal 1 2 3 4 5 6 7 Rename sum up all the vertices d lt c a b c d e
  • Android NDK 构建,方法无法解析

    我有一个带有本机代码的 Android 项目 我可以通过调用从命令行构建本机代码ndk build命令没有错误或警告 但是当我在ADT中打开它时 它显示以下错误 错误信息 Method CallStaticIntMethod could n