2011-10-12 68 views
0

我有一种感觉,我知道这个问题的答案,但我想我会看到什么,所以不得不说。从控制台应用程序使用Android框架

我希望创建一个控制台应用程序,可以采取.apk文件并提取元数据(如版本名称/版本号)。我可以从我的Android应用程序中使用PackageManager.getPackageArchiveInfo(),但我需要能够从命令行调用它。然而,android.jar中的类似乎只是存根,所以它不会最终工作。

有没有人知道一种方法来做到这一点?

回答

1

允许的APK,而您不拥有签名证书,除了看到内容存在之外,您无法访问apk的内容。

正如你所说,android.jar是存根。这是因为android系统依赖于设计为在ARM处理器上运行的本地代码,并且(可能)不会在您的系统上运行。因此,他们打包了所有Java代码的存根版本,唯一“运行”实际库的方法是在vm中执行完整版本的android.jar,这将是ARM环境(真正的手机或一个仿真器)。

可以通过设置“控制台”应用程序来实现此目的,但它必须与Android VM进行通信以获取android.jar的工作版本。我猜测这可能比你想要陷入更多的努力。

+0

我认为你是绝对正确的 - 它比我想要沉浸在此更多的工作。它不是任务关键或任何东西。我认为这可能是答案。谢谢! –

0

我能够打开.apk文件,并查看它的内容(包括AndroidManifest.xml中)使用WinZip ...

“希望帮助...

+0

我没有问题打开.apk文件,问题是从代码检查它。 –

相关问题