android 11及以上源码
涉及到的模块:
拉起应用授权的系统应用原来是在 PackageInstall.apk中,android11后更改到PermissionControll.apk,这里注意看是否google原生的还是其他平台的。
android 11以后不常用的应用权限会收回
主要涉及到的activity为
vendor\mediatek\proprietary\packages\apps\PermissionController\src\com\android\permissioncontroller\permission\ui\GrantPermissionsActivity.java
获取权限的方法: mPackageManger.grantRuntimePermissions()方法
回收权限的方法: mPackageManger.revokeRuntimePermission()方法
frameworks/base/services/core/java/com/android/server/pm/Settings.java
RuntimePermissionsPersistence.writePermissionsSync()方法
frameworks/base/apex/permission/service/java/com/android/permission/persistence/RuntimePermissionsPersistenceImpl.java
主要负责将apk的权限写入到data文件中
保存权限到手机的位置
data\misc_de\0\apexdata\com.android.permission\runtime-permissions.xml
这里详细记录所有app申请到的权限