我有一个名为CosuUtils的类,它紧跟着this类。我正在以编程方式更新作为设备所有者的应用程序。这在Android 6中运行良好,但在Android 7中尝试更新时出现以下错误。
PackageInstaller: Commit of session 1108510423 failed: /data/app/vmdl1108510423.tmp/COSU specified package com.mypackage inconsistent with com.mypackage.full
在CosuUtils中,我这样设置包名称
public static boolean installPackage(Context context, InputStream in, String packageName) throws IOException {
PackageInstaller packageInstaller = context.getPackageManager().getPackageInstaller();
PackageInstaller.SessionParams params = new PackageInstaller.SessionParams(PackageInstaller.SessionParams.MODE_FULL_INSTALL);
params.setAppPackageName(packageName);我把com.mypackage传给了installPackage,如前所述,它在Android6上运行得很好,除非我使用com.mypackage.full,否则在Android7上就不能工作。问题是,这破坏了升级到Android 7的用户更新到最新版本应用程序的能力。在Android6和7之间发生了什么变化,导致它崩溃,有没有解决方法?
发布于 2018-04-26 23:51:47
在我看来,你的问题与packageInstaller类无关,而是与你的应用程序的风格有关。你确定安卓6和7的包名都是一样的吗?
想要共享build.gradle文件吗?
https://stackoverflow.com/questions/50031467
复制相似问题