我的 android 应用程序在解析包含 PDF 文件链接的 xml 时遇到了一些困难。它应该打开一个 listView,显示 xml 中列出的所有文件。然而,大多数时候它只是冻结在我身上。该应用程序是由不再与我们在一起的开发人员制作的,我所拥有的只是 apk 而不是源文件。有没有办法使用 apk 来获取源文件并找出问题所在?Android 不是我的强项,我不知道如何解决这个问题。
更新:
运行 2.2 的设备似乎可以正常显示所有歌曲,而较新版本的 Android 在运行时会崩溃。
我在 HTC 上遇到了 android 2.2 的问题,需要很长时间才能解析大型 XML 文件。除了从 DOM 切换到 SAX 之外,我无能为力,由于某种原因,这要快得多
然而,在没有源代码的情况下调试它可能非常困难。尤其是因为在发现问题时解决问题将需要您重新编译一个新类来替换一直冻结的类。
我建议您考虑将 APK 反编译回源代码。
根据维基百科,APK 文件基于 Jar 文件格式,而 Jar 文件格式又是 Zip 文件: http ://en.wikipedia.org/wiki/APK_%28file_format%29
这使得这项任务更容易一些,因为您不需要寻找特定于 android 的反编译器,而是更通用的 Java 反编译器。
谷歌上的快速搜索建议这个:http: //java.decompiler.free.fr/
如果您可以将应用程序反编译回源代码,然后将该源代码放入 eclipse 并从源代码重新构建,那么您就可以开始调试了。