ant 调试未能在 apk 文件中包含 gdb.setup

ant debug failed to include gdb.setup in the apk file

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

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

我已经对 NDK 和 ant 构建进行了全面清理

androidNDK版本和androidSDK版本都是最新的。 我使用内置的 ndk-bundle,它加载了 android studio sdk 工具。

我们开发的设备没有 root 权限,所以不是一个选项。

hsmith$ java -版本 java版本“1.8.0_45”

Java(TM) SE 运行时环境(build 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 => libs/armebi-v7a/lib1.so

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

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

hsmith$ 蚂蚁调试 …… -包裹: [apkbuilder] 找到修改后的输入文件

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

-post-包:

-调试:

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

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

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

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

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

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

-post-构建:

调试:

构建成功

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

hsmith$ ndk-gdb adb --start

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

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

我解压apk文件找到

解压缩 apk file/lib/target/

hsmith$ ls -la

总计 48264

drwxr-xr-x 12 hsmith 员工 408 8 月 25 14:50 .

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

-rwxr-xr-x 1 hsmith 员工 409940 6 月 3 11:47 gdbserver

-rwxr-xr-x 1 名 hsmith 员工 33920 8 月 25 日 14:44 lib1.so

-rwxr-xr-x 1 hsmith 员工 165092 8 月 25 日 14:44 lib2.so

-rwxr-xr-x 1 hsmith 员工 1614028 8 月 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 变量设置不正确,导致脚本陷入困境。我希望他们尽快解决这个问题。将近三天浪费在损坏的工具链上。

更新:https://code.google.com/p/android/issues/detail?id=183455 这正是我遇到的问题。如果您将目标 gdb.setup 文件从目标目录复制到 ./lib 目录,您可以让 ndk-gdb 工作; ndk-gdb 中的 COMPAT_ABI 变量设置不正确,导致脚本陷入困境。我希望他们尽快解决这个问题。将近三天浪费在损坏的工具链上。