Nexus 9 arm64-v8a 构建的 NDK 调试不适用于 Eclipse

Posted

技术标签:

【中文标题】Nexus 9 arm64-v8a 构建的 NDK 调试不适用于 Eclipse【英文标题】:NDK Debug for Nexus 9 arm64-v8a build not working for eclipse 【发布时间】:2015-03-23 04:09:07 【问题描述】:

我不断收到以下错误:

[2015-01-23 19:27:47 - NativeTestApp] Unable to find a compatible ABI    
[2015-01-23 19:27:47 - NativeTestApp] ABI's supported by the application: armeabi
[2015-01-23 19:27:47 - NativeTestApp] ABI's supported by the device: arm64-v8a, null

当我的 Application.mk 为空时。当我有一个 Application.mk 并将 APP_ABI 设置为 arm64-v8a 时,它只显示:

[2015-01-23 19:33:27 - NativeTestApp] Unknown Application ABI:     
[2015-01-23 19:33:27 - NativeTestApp] arm64-v8a
[2015-01-23 19:33:27 - NativeTestApp] Unable to detect application ABI's

在我看来,应用程序想要编译 armeabi,但目标是 arm64。当不作为原生调试运行时,它可以正常工作。

【问题讨论】:

另外,只要我设置 APP_PLATFORM := android-19(和我的清单),调试运行该版本的 Nexus 10 平板电脑就可以工作。所以我不认为它是 Eclipse。 【参考方案1】:

该问题是 ndk-r10d 和以前版本的固有错误。 ndk-r10e 已解决此问题,尽管它仍然不适用于 eclipse,因为 eclipse 有自己的 ndk 插件。 Google 显然打算让 ndk-gdb 与下一个 Android Studio 版本兼容。

编辑:来源:

https://developer.android.com/ndk/downloads/index.html#rel

“为 64 位 ABI 修复了 ndk-gdb。(问题 118300)”。

【讨论】:

【参考方案2】:

Eclipse (23.0.7) 的最新正式版 ADT 插件不支持在配备 64 位 CPU 的设备上进行原生 C/C++ 调试。

我设法更新了源代码,以便在 arm64-v8a (Nexus 9) 上进行 NDK 调试。

试试这个补丁版本:https://github.com/khaledev/ADT

【讨论】:

以上是关于Nexus 9 arm64-v8a 构建的 NDK 调试不适用于 Eclipse的主要内容,如果未能解决你的问题,请参考以下文章

在 arm64-v8a lib 上运行 ndk-stack 失败并出现错误文件格式无法识别

错误记录NDK 配置错误 ( C/C++ debug|arm64-v8a : Could not get version from cmake.dir path )

我可以根据 Android API LEVEL 强制使用 armeabi-v7a 与 arm64-v8a 吗?

为 arm64-v8a 构建 libtensorflow_cc.so 问题

如何构建和使用PJSIP用于不同于armeabi的架构?

Android中的armeabi、armeabi-v7a、arm64-v8a及x86的详解