我有一个名为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之间发生了什么变化导致它破裂并且有解决方法吗?
答案 0 :(得分:0)
在我看来,你的问题与packageInstaller类无关 - 但是你的应用程序风味。你确定Android 6和7的包名保持不变吗?
关心分享build.gradle文件?