【问题标题】:Unable to detect application ABI's when trying to debug NDK尝试调试 NDK 时无法检测到应用程序 ABI
【发布时间】:2012-09-25 20:02:25
【问题描述】:

我正在尝试在 Eclipse 上使用 ADT 20.0.3 调试带有本机代码的 Android 应用程序,它给了我这个错误:

[2012-10-04 12:09:12 - ndk_android] Unknown Application ABI: 
[2012-10-04 12:09:12 - ndk_android] 
[2012-10-04 12:09:12 - ndk_android] Unable to detect application ABI's

jni 文件正确构建,我可以使用本机代码运行应用程序。

我的构建文件 Application.mk 如下所示:

APP_OPTIM        := debug
APP_ABI := armeabi armeabi-v7a
APP_STL := gnustl_static

LOCAL_LDLIBS := $(ANDROID_NDK)/sources/cxx-stl/gnu-libstdc++/libs/armeabi-v7a/libgnustl_static.a

有谁知道这个错误的原因是什么?有没有人通过本机调试来使用 ADT 20?

我正在按照这里的指南进行操作:http://tools.android.com/recent/usingthendkplugin

编辑:

清理和删除临时文件/文件夹/设置后,我仍然遇到同样的错误。然后我安装了一个干净的 Eclipse。安装了 CDT,然后是 ADT,这似乎解决了这个问题。我相信问题出在 Sequoyah 或 Eclipse 中的其他插件/设置上。

这已解决,但现在我遇到了另一个问题。断点不起作用,但我会保留另一个问题。

【问题讨论】:

标签: android debugging android-ndk


【解决方案1】:

尝试清理 OBJ 和 libs 目录,并且只构建一个 ABI。例如,在 NDK_DEBUG=1

旁边添加 APP_ABI=armeabi

【讨论】:

    【解决方案2】:

    我认为问题出在 Sequoyah 或 Eclipse 中的其他插件/设置上。我安装了一个干净的 Eclipse。安装了 CDT,然后是 ADT,这似乎解决了这个问题。

    【讨论】:

      【解决方案3】:

      转到首选项 -> Android -> NDK。您为此设置了正确的路径,它将起作用。 这种方式适合我。

      【讨论】:

      • 我的 Preferences-Android 下没有找到 NDK。我的情况有问题吗?请帮忙
      【解决方案4】:

      我通过在 Application.mk 文件中添加 APP_PLATFORM 条目解决了这个问题,并确保清单文件中提到的最小 sdk 版本相同。

      例如,就我而言, APP_PLATFORM:=21 添加到 Application.mk 文件 添加到清单文件中。

      您还需要在 jni 函数定义中保留断点,而不是在 java 端的 jni 本机函数声明中。

      希望对你有帮助。

      【讨论】:

        【解决方案5】:

        我在使用 NDK r16b 时出现此错误,在切换到 r10e 时已修复。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-08-17
          • 1970-01-01
          • 1970-01-01
          • 2013-08-17
          • 2019-05-26
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多