我想从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对象中找到大量其他信息。

10-06 06:55