首页 > 解决方案 > 安卓 | UPDATE_PACKAGES 权限的使用

问题描述

我正在尝试使用 Android 更新预加载在图像中的包,PackageInstaller如下所述。

对应的应用是特权应用,安装在/system/priv-app. 所以理想情况下,我认为有android.permission.UPDATE_PACKAGES足够的意愿进行包更新。此应用程序下提到/etc/permissions/privapp-permissions-atv.xml了相同的权限。

但由于某种原因,它失败并在BroadcastReceiver我已经实现的地方给出了以下错误。

android.content.pm.extra.STATUS : -1
android.content.pm.extra.SESSION_ID : 344244195
android.intent.extra.INTENT : Intent { act=android.content.pm.action.CONFIRM_PERMISSIONS pkg=com.google.android.packageinstaller (has extras) }

我在这里想念什么?我是否也需要添加,INSTALL_PACKAGES或者是否需要添加设备端的功能或任何其他配置。

标签: androidandroid-permissions

解决方案


显然没有这样的权限UPDATE_PACKAGES。但是在 Android 安全最佳实践中已经明确提到了这个权限 - https://source.android.com/security/best-practices/app

在此处输入图像描述

但是,正确的权限是INSTALL_PACKAGE_UPDATES,它有能力更新系统中已经安装的包。

这是来自 Google/Android 的完全出乎意料和误导性的信息,我不得不花费数周时间来找出这个特定问题的原因。不知道为什么这个问题还没有解决!


推荐阅读