实用更新应用程序时出现PackageInstaller错误

时间:2018-04-25 21:15:58

标签: android android-7.0-nougat device-owner cosu packageinstaller

我有一个名为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,前面提到的在Android 6上工作正常。除非我使用com.mypackage.full,否则这在Android 7中不起作用。问题是这会破坏升级到Android 7的用户更新到最新版本的应用程序的能力。 Android 6和7之间发生了什么变化导致它破裂并且有解决方法吗?

1 个答案:

答案 0 :(得分:0)

在我看来,你的问题与packageInstaller类无关 - 但是你的应用程序风味。你确定Android 6和7的包名保持不变吗?

关心分享build.gradle文件?