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;
     }
相关推荐
码农coding2 小时前
android 12 中的VSYNC的请求
android
阿pin2 小时前
Android随笔-Activity
android·activity
YF02112 小时前
详解Android所有文件访问权限
android
时间的拾荒人4 小时前
MySQL C语言连接 - 从入门到实战
android·c语言·mysql
Meteors.4 小时前
Android性能优化:01. 指标体系 + 分析工具链
android
jike_20265 小时前
安卓平台免费录音转文字工具深度测评:5 款 APP 功能对比与选型指南
android·智能电视
Code Man5 小时前
Windows 下使用 Appium
android·windows·appium
码农coding6 小时前
android 12 中的VSYNC接收
android
GitLqr6 小时前
Flutter 3.44 性能飞跃:深度解析 Android Platform View 的 HCPP 新特性
android·flutter·性能优化
码农coding6 小时前
android 12 SurfaceFlinger中的CompositionEngine
android