安装的应用程序是否有办法获取另一个的.apk文件?我目前正在编写一个分析应用程序,需要将.apk发送到远程服务器进行调查。我不确定这是否可行。
我不想要使用adb获取.apk文件,因为这对我没用。
由于
答案 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的文件参考。获得文件后,您可以将其写入外部存储或将其上传到服务器。