android从Marketplace安装应用程序后,是否保留。apk文件?

Android是否有一个保存这些文件的标准位置?


当前回答

你可以在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

其他回答

与所选答案上所写的相反,你不需要root,并且可以获得已安装应用程序的apk,这就是我在我的应用程序上所做的(这里)。例子:

List<PackageInfo> packages=getPackageManager().getInstalledPackages(0);

然后,对于列表中的每一项,您都可以访问packageInfo.applicationInfo。sourceDir,这是已安装应用的APK的完整路径。

当我在模拟器上安装我的应用程序时,它显示了我的.apk文件

数据/应用 然后我用了 Ls data/app //查看它是否存在或 不

安装应用程序后,只需使用ls命令vie shell并检查所需的目录,但这取决于你要安装的应用程序类型。我使用这种方法安装 如果有什么地方不对就指出来。

预安装的应用程序在/system/app文件夹下。用户安装的应用程序在/data/app中。我猜除非你的手机有根密码,否则你无法访问。 我没有一个根电话在这里,但尝试这段代码:

public class Testing extends Activity {
    private static final String TAG = "TEST";
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        File appsDir = new File("/data/app");

        String[] files = appsDir.list();

        for (int i = 0 ; i < files.length ; i++ ) {
            Log.d(TAG, "File: "+files[i]);

        }
    }

它确实列出了apks在我的根htc魔术和在emu。

.apk文件可以位于/data/app/目录下。使用ES文件资源管理器,我们可以访问这些。apk文件。

如果你正在寻找一个特定应用程序的路径,一个快速而肮脏的解决方案是grep bugreport:

$ adb bugreport | grep 'dir=/data/app' 

我不知道这将提供一个详尽的列表,所以它可能有助于首先运行应用程序。