我有一种感觉,我知道这个问题的答案,但我想我会看到什么,所以不得不说。从控制台应用程序使用Android框架
我希望创建一个控制台应用程序,可以采取.apk文件并提取元数据(如版本名称/版本号)。我可以从我的Android应用程序中使用PackageManager.getPackageArchiveInfo()
,但我需要能够从命令行调用它。然而,android.jar中的类似乎只是存根,所以它不会最终工作。
有没有人知道一种方法来做到这一点?
我有一种感觉,我知道这个问题的答案,但我想我会看到什么,所以不得不说。从控制台应用程序使用Android框架
我希望创建一个控制台应用程序,可以采取.apk文件并提取元数据(如版本名称/版本号)。我可以从我的Android应用程序中使用PackageManager.getPackageArchiveInfo()
,但我需要能够从命令行调用它。然而,android.jar中的类似乎只是存根,所以它不会最终工作。
有没有人知道一种方法来做到这一点?
允许的APK,而您不拥有签名证书,除了看到内容存在之外,您无法访问apk的内容。
正如你所说,android.jar是存根。这是因为android系统依赖于设计为在ARM处理器上运行的本地代码,并且(可能)不会在您的系统上运行。因此,他们打包了所有Java代码的存根版本,唯一“运行”实际库的方法是在vm中执行完整版本的android.jar,这将是ARM环境(真正的手机或一个仿真器)。
可以通过设置“控制台”应用程序来实现此目的,但它必须与Android VM进行通信以获取android.jar的工作版本。我猜测这可能比你想要陷入更多的努力。
我能够打开.apk文件,并查看它的内容(包括AndroidManifest.xml中)使用WinZip ...
“希望帮助...
我没有问题打开.apk文件,问题是从代码检查它。 –
我认为你是绝对正确的 - 它比我想要沉浸在此更多的工作。它不是任务关键或任何东西。我认为这可能是答案。谢谢! –