gpt4 book ai didi

android - 无法在 eclipse 上调试基于 android 库构建的 android native 代码

转载 作者:太空狗 更新时间:2023-10-29 14:14:25 25 4
gpt4 key购买 nike


我已经为此苦苦挣扎了 3 天,但我无法完成它。
我在 eclipse 上有一个链接到包含 native 代码的 android 库的 android 项目。
我看到了this question ,这与我的架构相同,但那里建议的步骤不起作用。

我在这里重写了步骤,它们是:

  1. 转到“运行”菜单->“调试配置”
  2. 在左 Pane 中的“Android native 应用程序”下,选择您的应用程序
  3. 在“调试器”选项卡下,单击“共享库”部分中的“添加...”。
  4. 浏览到您的 android 库项目目录并添加其子目录 obj/local/armeabi。
  5. 应用和调试。

第一个问题是,如果应用程序未设置为原生应用程序(仅链接到原生应用程序),我无法为原生应用程序设置调试配置,因此我无法选择任何项目进行调试。

我尝试将 android 应用程序项目设置为具有 c/c++ 性质,使用虚拟 jni/Android.mk,只是在构建时不显示任何错误。 (虽然我怀疑这是正确的方法)
然后应用程序运行并正确链接,我能够按照这些步骤 --1 到 5。但是当我调试它时,控制台显示(BasicCharacterWithLib 是应用程序的名称):

[2014-05-27 12:18:09 - BasicCharacterWithLib] Error while obtaining file from device
[2014-05-27 12:18:09 - BasicCharacterWithLib] com.android.ddmlib.SyncException: Writing local file failed!

它永远不会在任何断点(本地或非本地)上停止

我也知道 this other question ,在不同的配置(直接执行应用程序)上有相同的症状,但仍然没有答案。

我已经在同一台设备上成功调试了另一个应用程序,一个内部包含 native 代码的测试应用程序,所以我猜问题不可能是由于设备配置引起的。

你知道怎么解决吗?

一些进一步的细节:

  • 我使用 adt 包中的 eclipse(版本 v22.6.2,可用的 sdk 最高 api 级别是 19,ndk 版本是 r9)
  • 该应用在多个线程上运行(通过 AsyncTask 从 java 执行),但此时只有主线程启动。
  • 如果我将其作为 Android 应用进行调试,即使在多线程中,调试过程也仅在 Java 端有效。
  • 我在 Application.mk 中将 APP_PLATFORM 设置为 android-14,与 list 中的 minSdkVersion="14"相同。
  • 我还尝试重新启动 eclipse,重新启动设备,然后再次拔下和插入 USB。

最佳答案

查看此 question .可能是磁盘上不存在的 obj/local/armeabi 文件夹的问题。

关于android - 无法在 eclipse 上调试基于 android 库构建的 android native 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23887892/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com