android从Marketplace安装应用程序后,是否保留。apk文件?
Android是否有一个保存这些文件的标准位置?
android从Marketplace安装应用程序后,是否保留。apk文件?
Android是否有一个保存这些文件的标准位置?
当前回答
使用此命令列出/data/app/下的所有。apks
adb bugreport | grep 'package name="' | grep 'codePath="/data' | cut -d'"' -f4
其他回答
如果你使用eclipse goto DDMS,然后文件资源管理器,你会看到System/Apps文件夹和apks在那里
你可以在adb shell上使用包管理器(pm)来列出包:
adb shell pm list packages | sort
要显示.apk文件的位置:
adb shell pm path com.king.candycrushsaga
package:/data/app/com.king.candycrushsaga-1/base.apk
和adb拉来下载apk。
adb pull data/app/com.king.candycrushsaga-1/base.apk
如果你正在寻找一个特定应用程序的路径,一个快速而肮脏的解决方案是grep bugreport:
$ adb bugreport | grep 'dir=/data/app'
我不知道这将提供一个详尽的列表,所以它可能有助于首先运行应用程序。
使用此命令列出/data/app/下的所有。apks
adb bugreport | grep 'package name="' | grep 'codePath="/data' | cut -d'"' -f4
预安装的应用程序通常在/system/app中,用户安装的应用程序在/data/app中。
你可以使用“adb pull”,但是你需要知道APK文件的完整路径。在模拟器上,您可以使用"adb shell" + "ls"获得目录列表。但在android设备上,由于安全原因,您将无法在“/data”文件夹中这样做。那么如何找出APK文件的完整路径呢?
你可以通过编写一个查询PackageManager的程序来获得所有已安装应用程序的完整列表。下面是简短的代码片段:
PackageManager pm = getPackageManager();
List<PackageInfo> pkginfo_list = pm.getInstalledPackages(PackageManager.GET_ACTIVITIES);
List<ApplicationInfo> appinfo_list = pm.getInstalledApplications(0);
for (int x=0; x < pkginfo_list.size(); x++){
PackageInfo pkginfo = pkginfo_list.get(x);
pkg_path[x] = appinfo_list.get(x).publicSourceDir; //store package path in array
}
你也可以找到提供这类信息的应用程序。他们有很多。试试这个(AppSender)。