回答
您可以使用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