android 安装第三方apk自动赋予运行时权限

摘要:行业机使用场景点击运行时权限很麻烦,而随着android的演进,对于权限的管控越发严格。故本文通过对系统的修改实现第三方app在运行时直接获取全部权限。

通过属性ro.perms.force_grant控制功能开关。

java 复制代码
Index: frameworks/base/services/core/java/com/android/server/pm/permission/Permission.java
===================================================================
--- frameworks/base/services/core/java/com/android/server/pm/permission/Permission.java	(版本 4724)
+++ frameworks/base/services/core/java/com/android/server/pm/permission/Permission.java	(版本 4725)
@@ -25,6 +25,7 @@
 import android.content.pm.PermissionInfo;
 import com.android.server.pm.pkg.component.ParsedPermission;
 import android.os.Build;
+import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.util.Log;
 import android.util.Slog;
@@ -206,10 +207,16 @@
     }
 
     public boolean isNormal() {
+        if (SystemProperties.getBoolean("ro.perms.force_grant", false)) { // @ +
+            return true;
+        }
         return (mPermissionInfo.protectionLevel & PermissionInfo.PROTECTION_MASK_BASE)
                 == PermissionInfo.PROTECTION_NORMAL;
     }
     public boolean isRuntime() {
+        if (SystemProperties.getBoolean("ro.perms.force_grant", false)) { // @ +
+            return false;
+        }
         return (mPermissionInfo.protectionLevel & PermissionInfo.PROTECTION_MASK_BASE)
                 == PermissionInfo.PROTECTION_DANGEROUS;
     }
相关推荐
怪兽201412 小时前
请谈谈什么是同步屏障?
android·面试
帅锅锅00713 小时前
SeLinux 全面详解
android·linux
只想搞钱的肥仔13 小时前
Android thermal (5)_cooling device(下)
android
某空m13 小时前
【Android】BottomNavigationView实现底部导航栏
android·java
撩得Android一次心动14 小时前
Android 四大组件桥梁 —— Intent (意图) 详解
android
用户20187928316715 小时前
MVP架构模式:餐厅点餐的有趣故事
android
用户20187928316716 小时前
MVVM 架构模式:咖啡馆的智能点餐系统
android
用户20187928316716 小时前
浅析Android MVC架构
android
AsiaLYF17 小时前
kotlin中MutableStateFlow和MutableSharedFlow的区别是什么?
android·开发语言·kotlin
2501_9160088917 小时前
iOS 发布全流程详解,从开发到上架的流程与跨平台使用 开心上架 发布实战
android·macos·ios·小程序·uni-app·cocoa·iphone