回答
您可以使用PackageManager方法getPackageArchiveInfo從APK文件中檢索信息。假設您的APK住在你的SD卡的根目錄,你可以使用此代碼:
String apkPath = Environment.getExternalStorageDirectory().getAbsolutePath()
+ "/MyApp.apk";
PackageManager pm = getPackageManager();
PackageInfo info = pm.getPackageArchiveInfo(apkPath,
PackageManager.GET_ACTIVITIES);
//Log.i("ActivityInfo", "Package name is " + info.packageName);
for (android.content.pm.ActivityInfo a : info.activities) {
Log.i("ActivityInfo", a.name);
}
有很多,你可以在ActivityInfo和PackageInfo對象找到更多信息。
你可以使用反編譯器一樣Dedexer,然後你可以看看清單。
你確定你需要一個反編譯器嗎?清單應該可以在apk文件的根目錄下訪問和讀取... – WarrenFaith 2011-04-20 11:01:31
我想以編程方式執行此操作,我可以從我的Java代碼訪問此工具嗎? – Smith 2011-04-20 11:10:33
@WarrenFaith。大概你是對的,我剛纔提到了一個可能的解決方案。我看到的@kaps。如果你想做它programatiicaly,你不能使用我的解決方案。 – 2011-04-20 11:40:24
如果你只是想在命令行中一一列舉了,你可以使用
aapt dump xmltree <apk-file> AndroidManifest.xml
格式開頭有點令人費解,但所有的信息是存在的。
當然,您需要安裝Android SDK來執行此操作。
偉大的提示。請使這個答案:http://stackoverflow.com/questions/6547703/list-all-activities-within-an-apk-from-the-shell – scorpiodawg 2012-10-05 20:05:51
其實不用得到的apk的路徑,直接在活動內調用
(英文翻譯)你不必使用完整路徑APK,只需調用直接從活動中以下。
PackageManager manager = getPackageManager();
PackageInfo packageInfo = manager.getPackageInfo("your package name", PackageManager.GET_UNINSTALLED_PACKAGES);
英文,請... – JJJ 2012-05-28 06:38:04
- 1. 如何從Android獲取包名和啓動器活動apk
- 2. Android Market和APK文件名稱
- 3. 從apk文件讀取Strings.xml文件
- 4. 從apk中讀取res文件夾
- 5. Android活動名稱
- 6. Android:.java文件可從.apk文件讀取?
- 7. 如何從android應用程序讀取json文件的名稱?
- 8. 讀取APK內的文件
- 9. 從R中的文件中讀取名稱中的部分名稱
- 10. Android從匿名類中獲取活動
- 11. 獲取APK包的名稱
- 12. android apk不讀取xml文件(從unity editor編譯的apk版本)
- 13. 從另一個活動獲取名稱
- 14. 如何在android中更改apk文件的名稱
- 15. 安卓apk安裝默認名稱及其別名的活動
- 16. 只能從文本文件中讀取一個名稱
- 17. 如何包括apk文件名的Git分支名稱自動
- 18. 用Javascript/jQuery讀取文件的名稱
- 19. 在Android本機環境中從我自己的APK中讀取資源文件
- 20. Android清單文件和活動名稱前的「點」
- 21. 從已簽名APK提取文件 - Android Studio密鑰
- 22. 如何在android中獲取手機主屏幕的活動或活動名稱?
- 23. Android獲取.apk文件
- 24. 使用文件讀取器讀取txt文件中的客戶名稱
- 25. 如何從谷歌健身中的活動代碼中獲取活動名稱
- 26. 在Android中獲取活動的應用程序名稱
- 27. 從名稱文件中自動導入R中的列名稱
- 28. 讀取文件並顯示該文件中名稱的總和
- 29. 如何從文件中讀取,名稱是「 - 」
- 30. 從.pem文件中讀取通用名稱
本應該表現得工作:http://stackoverflow.com/questions/3868768/extracting-android-apk-and-reading-contents-of-xml-file-in-res-layout – bigstones 2011-04-20 10:42:50
我想以編程方式執行此操作,這是否仍然有用? – Smith 2011-04-20 11:09:24