【问题标题】:PackageInstaller error when pragmatically updating app实用更新应用程序时出现 PackageInstaller 错误
【发布时间】:2018-04-25 21:15:58
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    在我看来,您的问题与 packageInstaller 类无关 - 但与您的应用程序的风格有关。您确定 Android 6 和 7 的 package-name 保持不变吗?

    愿意分享 build.gradle 文件吗?

    【讨论】:

      猜你喜欢
      • 2017-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-22
      • 2017-09-07
      • 2020-12-14
      • 2023-02-25
      • 1970-01-01
      相关资源
      最近更新 更多