我已经成功构建(从mac终端)这个本地应用程序很长一段时间了,但今天我遇到了一个错误,我似乎无法确定。在厌倦了所有javac警告之后,我升级到一个更新版本的ant。我不确定这是否有关系,但时间很可疑。我仍然可以构建、部署和运行我的应用程序,但现在我不能再使用ndk-gdb来调试应用程序的本机部分。在检查中,gdb。安装文件没有被添加到调试包中。
是构建序列、简化的输出和信息。我想征求一下解决这个问题的建议。
我已经完全清理了NDK和ant构建
android NDK版本和android SDK版本都是最新的。我使用内置的ndk包,它加载了android studio sdk工具。
我们开发的设备是没有根的,不是一个选项。
hsmith$ Java -versionJava版本"1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)Java HotSpot(TM) 64位Server VM (build 25.45-b02, mixed mode)
hsmith $ $ ANT_HOME
-bash:/Users/hsmith/dk/ant/apache-ant-1.9.6: is a directory
hsmith$ ndk-build -j4 NDK_DEBUG=1
Gdbserver: [arm-linux-androideabi-4.8] libs//Gdbserver
[armebi-v7a] Gdbsetup: libs//gdb.setup
[armebi-v7a]So => libs/armebi-v7a/lib1.so
[armebi-v7a] Install: lib2。
libs/armebi-v7a/lib2.so[armebi-v7a]安装:lib3。So => libs/armebi-v7a/lib3.so
hsmith$ ant debug…包:[apkbuilder]查找修改后的输入文件
[apkbuilder]创建-debug-unaligned.apk并使用调试密钥签名…
-post-package:
-do-debug:
[zipalign]运行zipalign在最终的apk…
[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-build:
调试:构建成功
hsmith$ adb install ~/packageFolder/bin/-debug.apk
hsmith$ ndk-gdb adb——start
错误:包是不可调试的!您可以通过两种方式修复此问题:
在调用'ndk-build'时使用NDK_DEBUG=1选项重建。
修改你的manifest,设置android:debuggable属性为"true",
在其中一个之后,重新安装到设备!
我解压缩apk文件找到
解压后的apk文件/lib/target/
hsmith$ ls -la
总48264drwxr-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。安装文件
我没有在清单中使用debuggable=true,因为它不再需要了,但是包括它对结果没有影响。
更新:https://code.google.com/p/android/issues/detail?id=183455这正是我的问题所在。如果复制目标gdb。将安装文件从目标目录移到。/lib目录下,可以使ndk-gdb工作;ndk-gdb中的COMPAT_ABI变量设置不正确,导致脚本陷入旋转。我希望他们能尽快解决这个问题。几乎三天的时间浪费在一个断裂的工具链上。
UPDATE: https://code.google.com/p/android/issues/detail?id=183455这正是我遇到的问题。如果复制目标gdb。将安装文件从目标目录移到。/lib目录下,可以使ndk-gdb工作;ndk-gdb中的COMPAT_ABI变量设置不正确,导致脚本陷入旋转。我希望他们能尽快解决这个问题。几乎三天的时间浪费在一个断裂的工具链上。