0

我正在测试一个 Android 应用程序。我使用APKTOOL反编译/重新编译(带有调试符号)。我执行了调试代码签名,然后安装了 APK。该程序似乎运行良好。

根据APKTOOL,我应该能够附加到 NetBeans 中正在运行的进程。但我只能选择附加到本地主机上的进程。DDMS 未显示进程树和关联的调试套接字,如使用 DDMS中的图 1 所示。这对于所有应用程序都是预期的,因为我正在运行发布内核,但对于目标进程来说却是意外的。我使用 DDMS 来定位设备上的 PID,但当我尝试通过 PID 附加时,NetBeans 声称“不是有效的 PID”。我还安装了NBAndroid插件。

如何使用 NetBeans 附加到设备上运行的进程?

杰夫

4

1 回答 1

2

好的,找到问题了。即使我向 APKTOOL 询问调试信息(即apktool -d ...),该工具也没有生成格式良好的 AndroidManifest.xml(或修复现有清单)。清单中缺少android:debuggable="yes"application元素。或者 APKTOOL 文档省略了该步骤...

“无法将调试器附加到设备上的应用程序”,http://code.google.com/p/android-apktool/issues/detail ?id=338 。

这里还潜伏着另一个问题:NetBeans 7.2 不能使用 Smali 文件(即使以前版本的 NetBeans 可以)。所以没有实时分析,因为调试器无法设置断点。请参阅NetBeans/Smali 调试已损坏(SmaliDebugging 页面)*.smali 没有 MIME 类型

于 2012-08-02T23:24:33.350 回答