ant debug无法在apk文件中包含gdb.setup

时间:2015-08-25 22:46:11

标签: ant ndk-gdb

我已经成功地(从mac终端)构建了这个原生应用程序很长一段时间但是今天我遇到了一个我似乎无法解决的错误。从所有javac警告累了后,我升级到更新版本的蚂蚁。我不确定它是否相关,但时机是可疑的。我仍然可以构建,部署和运行我的应用程序,但现在我不能再使用ndk-gdb来调试应用程序的本机部分。检查时出现gdb.setup文件未添加到调试apk中。

这里是构建序列,缩写输出和信息。我正在寻找有关如何解决问题的建议。

我已经完成了NDK和ant build的全面清理

Android NDK版本和Android SDK版本都是最新版本。 我使用内置的ndk-bundle来加载android studio sdk工具。

我们开发的设备没有根据,也不是一种选择。

hsmith $ java -version java版本" 1.8.0_45"

Java(TM)SE运行时环境(版本1.8.0_45-b14) Java HotSpot(TM)64位服务器VM(版本25.45-b02,混合模式)

hsmith $ $ ANT_HOME

-bash:/Users/hsmith/dk/ant/apache-ant-1.9.6:是一个目录

hsmith $ ndk-build -j4 NDK_DEBUG = 1

[armebi-v7a] Gdbserver:[arm-linux-androideabi-4.8] libs // gdbserver

[armebi-v7a] Gdbsetup:libs // gdb.setup

[armebi-v7a]安装:lib1.so =>库/ armebi-V7A / lib1.so

[armebi-v7a]安装:lib2.so =>库/ armebi-V7A / lib2.so

[armebi-v7a]安装:lib3.so =>库/ armebi-V7A / lib3.so

hsmith $ ant debug ... -包: [apkbuilder]找到修改后的输入文件

[apkbuilder]创建-debug-unaligned.apk并使用调试密钥对其进行签名...

-post封装:

-do调试:

[zipalign]在最后的apk上运行zip对齐...

 [echo] Debug Package: /Users/hsmith/packageFolder/bin/<package>-debug.apk

[propertyfile]正在更新属性文件:/Users/hsmith/packageFolder/bin/build.prop

[propertyfile]正在更新属性文件:/Users/hsmith/packageFolder/bin/build.prop

[propertyfile]正在更新属性文件:/Users/hsmith/packageFolder/bin/build.prop

[propertyfile]正在更新属性文件:/Users/hsmith/packageFolder/bin/build.prop

-post建造:

调试:

建立成功

hsmith $ adb install -r~ / packageFolder / bin / -debug.apk

hsmith $ ndk-gdb adb --start

错误:包不可调试!您可以通过两种方式解决这个问题:

  • 在调用&#39; ndk-build&#39;时,使用NDK_DEBUG = 1选项重建。

  • 修改清单,将android:debuggable属性设置为&#34; true&#34;,

    然后正常重建。

在其中一个之后,重新安装到设备上!

我解压缩了apk文件以找到

unziped apk文件/ lib / target /

hsmith $ ls -la

总共48264

drwxr-xr-x 12 hsmith staff 408 Aug 25 14:50。

drwxr-xr-x 5 hsmith staff 170 Aug 25 14:50 ..

-rwxr-xr-x 1 hsmith staff 409940 Jun 3 11:47 gdbserver

-rwxr-xr-x 1 hsmith staff 33920 Aug 25 14:44 lib1.so

-rwxr-xr-x 1 hsmith staff 165092 Aug 25 14:44 lib2.so

-rwxr-xr-x 1 hsmith staff 1614028 Aug 25 14:44 lib3.so

请注意,没有gdb.setup文件

我不会在清单中使用debuggable = true,因为它不再需要,但包括它对结果没有影响。

更新:https://code.google.com/p/android/issues/detail?id=183455 这正是我遇到的问题。如果将目标gdb.setup文件从目标目录复制到./lib目录,则可以使ndk-gdb工作; ndk-gdb中的COMPAT_ABI变量未正确设置并将脚本发送到旋转中。我希望他们很快解决这个问题。在破损的工具链上浪费了将近三天的时间。

1 个答案:

答案 0 :(得分:0)

更新:https://code.google.com/p/android/issues/detail?id=183455这正是我遇到的问题。如果将目标gdb.setup文件从目标目录复制到./lib目录,则可以使ndk-gdb工作; ndk-gdb中的COMPAT_ABI变量未正确设置并将脚本发送到旋转中。我希望他们很快解决这个问题。在破损的工具链上浪费了将近三天的时间。