我想从android apk文件中提取所有 Activity 名称。
知道怎么可能吗?
谢谢
卡普斯
最佳答案
您可以使用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对象中找到大量其他信息。