3

我有一个应用程序安装到我们的自定义 ROM 中/system/app

当我添加系统权限,例如android.permission.REBOOT,并安装系统应用更新时,更新后的应用并没有获得更新中添加的新权限。

当我添加非系统权限时,例如android.permission.INTERNET,应用程序确实会看到新权限。

我们正在尝试了解是否有一种方法可以在不通过 OTA 系统应用程序的情况下解决此问题。

编辑:这是我们安装软件包的方式,

Class<?>[] installTypes = new Class[]{Uri.class, IPackageInstallObserver.class, int.class, String.class};
installMethod = pm.getClass().getMethod("installPackage", installTypes);
...
installMethod.invoke(pm, new Object[]{apkFile, observer, INSTALL_REPLACE_EXISTING, null});
4

1 回答 1

2

系统应用无法通过升级获得新权限。我认为原因是,如果您曾经破坏过系统应用程序,您可以升级它并添加您想要的任何权限,包括只能授予系统应用程序的所有危险权限。

如果您希望您的系统应用程序具有新权限,则需要执行 OTA,或者以其他方式将 APK 的新位放入/system/app.

于 2013-10-11T15:47:22.463 回答