Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ant调试未能在apk文件中包含gdb.setup_Ant_Ndk Gdb - Fatal编程技术网

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

ant调试未能在apk文件中包含gdb.setup,ant,ndk-gdb,Ant,Ndk Gdb,很长一段时间以来,我一直在(从mac终端)成功地构建这个本机应用程序,但今天我遇到了一个似乎无法确定的错误。在厌倦了所有的javac警告之后,我升级到了一个更新版本的ant。我不确定这是否相关,但时间安排值得怀疑。我仍然可以构建、部署和运行我的应用程序,但现在我不能再使用ndk gdb调试应用程序的本机部分。检查时发现gdb.setup文件未添加到调试apk中 以下是构建序列、缩写输出和信息。我正在寻找关于如何解决这个问题的建议 我已经对NDK和ant构建进行了全面清理 android NDK版

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

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

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

android NDK版本和android SDK版本都是最新的。 我使用内置的ndk包,该包与android studio sdk工具一起加载

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

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

Java(TM)SE运行时环境(build 1.8.0_45-b14) Java HotSpot(TM)64位服务器虚拟机(构建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]gdb设置: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$ant调试 … -包装: [apkbuilder]找到修改的输入文件

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

-邮包:

-执行调试:

[zipalign]在最终apk上运行zip align

 [echo] Debug Package: /Users/hsmith/packageFolder/bin/<package>-debug.apk
[echo]调试包:/Users/hsmith/packageFolder/bin/-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

-建造后:

调试:

建设成功

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

hsmith$ndk gdb adb——启动

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

  • 调用“NDK build”时使用NDK_DEBUG=1选项重建

  • 修改清单,将android:debugable属性设置为“true”

    然后正常重建

完成其中一项后,请重新安装到设备

我解压缩了apk文件以查找

解压apk文件/lib/target/

hsmith$ls-la

总数48264

drwxr-xr-x 12 hsmith员工408八月25日14:50

drwxr-xr-x 5 hsmith员工170 8月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,因为不再需要它,但是包含它对结果没有影响

更新:
这正是我面临的问题。如果将target gdb.setup文件从目标目录复制到./lib目录,则可以让ndk gdb工作;ndk gdb中的COMPAT_ABI变量未正确设置,正在将脚本发送到spin中。我希望他们能尽快解决这个问题。在一条断裂的工具链上浪费了将近三天。

更新:这正是我面临的问题。如果将target gdb.setup文件从目标目录复制到./lib目录,则可以让ndk gdb工作;ndk gdb中的COMPAT_ABI变量未正确设置,正在将脚本发送到spin中。我希望他们能尽快解决这个问题。几乎浪费了三天的时间在一条断裂的工具链上。

我感觉到了你的痛苦。。。谷歌如何管理他们的工具真是太可笑了。。。感谢您更新与答案的链接!我认为你应该自己回答你的帖子: