2011-10-12 41 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文件,問題是從代碼檢查它。 –

相關問題