构建 AOSP 并添加具有运行时权限的系统应用

Gui*_*nac 3 android android-source apk

我在 Android 6 AOSP 上工作。我能够将应用程序构建为系统应用程序,但现在我想在此系统应用程序上默认添加运行时权限。就像这样,应用程序可以在不要求用户验证权限的情况下启动。

你知道我怎么做吗?

谢谢你的帮助。

You*_*Kim 7

如果您的应用具有特权,则在清单中请求时会授予所有运行时权限。

使您的应用享有特权:
在 Android.mk 中

LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true
Run Code Online (Sandbox Code Playgroud)

如果这不能解决您的问题:
1. 您可以在运行时向您的应用程序授予运行时权限。应用程序必须有 android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS。 下午.java

IPackageManager pm = IPackageManager.Stub.asInterface(ServiceManager.getService("package"));
pm.grantRuntimePermission(pkgname, perm, UserHandle.USER_OWNER);
pm.updatePermissionFlags(perm, pkgname, PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT,
PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT, UserHandle.USER_OWNER);
Run Code Online (Sandbox Code Playgroud)
  1. 您可以通过修改DefaultPermissionGrantPolicy.java手动授予权限 。

此外,如果应用程序使用与系统共享的用户 ID。即使清单中未请求任何许可,也会授予任何许可。

android:sharedUserId="android.uid.system".
Run Code Online (Sandbox Code Playgroud)