通过其他应用程序获取.apk

时间:2014-10-05 15:30:58

标签: android android-package-managers

安装的应用程序是否有办法获取另一个的.apk文件?我目前正在编写一个分析应用程序,需要将.apk发送到远程服务器进行调查。我不确定这是否可行。

想要使用adb获取.apk文件,因为这对我没用。

由于

1 个答案:

答案 0 :(得分:2)

是的,这可以做到。以下是:

首先,您必须获取所有已安装应用程序的列表。这可以使用this SO question中的代码段完成:

final Intent mainIntent = new Intent(Intent.ACTION_MAIN, null);
mainIntent.addCategory(Intent.CATEGORY_LAUNCHER);
final List pkgAppsList = getPackageManager().queryIntentActivities( mainIntent, 0);

for (Object object : pkgAppsList) {
    ResolveInfo info = (ResolveInfo) object;
    File file =new File( info.activityInfo.applicationInfo.publicSourceDir);
    // copy the .apk file to wherever
}

这允许您获取设备上安装的任何APK的文件参考。获得文件后,您可以将其写入外部存储或将其上传到服务器。