无法在eclipse上调试基于android库的android本机代码

时间:2014-05-27 11:10:32

标签: android debugging android-ndk android-library


我一直在努力奋斗3天,我无法完成它 我有一个android项目链接到一个包含本机代码的android库,在eclipse上。
我看到了this question,这与我的模式相同,但是那里提出的步骤不起作用。

我在这里重写了以下步骤:

  1. 转到“运行”菜单 - > “调试配置”
  2. 在左侧窗格的“Android Native Application”下,选择您的应用程序
  3. 在“调试器”选项卡下,单击“共享库”部分中的“添加...”。
  4. 浏览到您的android库项目目录并添加其子目录obj / local / armeabi。
  5. 申请并调试。
  6. 第一个问题是,如果应用程序未设置为本机应用程序(仅链接到本机应用程序),我无法为本机应用程序设置Debug配置,因此我无法选择任何要调试的项目。

    我尝试将android app项目设置为具有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,在不同的配置(直接执行应用程序)上具有相同的症状,但仍然没有答案。

    我已经在同一个设备中成功调试了另一个应用程序,一个测试应用程序里面有本机代码,所以我猜问题不能归功于设备配置。

    你知道怎么解决吗?

    进一步的细节:

    • 我使用adt bundle中的eclipse(版本v22.6.2,可用的sdk最高api级别为19,ndk版本为r9)
    • 该应用程序在多个线程上运行(通过AsyncTask从java执行),但此时只启动主线程。
    • 如果我将它调试为Android应用程序,调试过程仅在java方面有效,即使在多线程中也是如此。
    • 我在Application.mk中将APP_PLATFORM设置为android-14,与清单中的minSdkVersion =“14”相同。
    • 我也尝试重新启动eclipse,重新启动设备,再次拔下USB插头。

1 个答案:

答案 0 :(得分:1)

question。可能与磁盘上不存在的obj/local/armeabi文件夹相同。