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

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


当前回答

数据/应用 系统/应用程序 系统/ priv-app Mnt /asec(当安装在sdcard时)

你可以从他们中的任何一个中拉。apks:

Adb pull /mnt/asec

其他回答

预安装的应用程序通常在/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)。

使用此命令列出/data/app/下的所有。apks

adb bugreport | grep 'package name="' | grep 'codePath="/data' | cut -d'"' -f4

另一种在根设备上找不到apks的方法是使用rom工具箱。

使用应用程序管理器进行备份,然后转到storage/emulated/appmanager,检查系统应用程序备份或用户应用程序备份。

预安装的应用程序在/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文件,请这样做:

从谷歌Play获取AirDroid 使用AirDroid从您的PC网络浏览器访问您的手机 进入应用程序,选择已安装的应用程序 点击“下载”按钮,从您的手机下载此应用程序的APK版本

您不需要对您的手机进行根操作,不需要使用adb,也不需要编写任何东西。