新增白名单赋予应用安装权限

目录

相关问题

具体实现


相关问题

安装app到/data/分区时,如何在安装阶段就赋予权限,无需请求权限

具体实现

frameworks/base/core/res/res/values/config.xml

XML 复制代码
    <!-- For whitelis apk -->
    <string-array translatable="false" name="apk_whitelist" >
         <item>"com.cmss.cloudcomputer"</item>
    </string-array>

frameworks/base/core/res/res/values/symbols.xml

XML 复制代码
  <!-- For whitelist apk -->
  <java-symbol type="array" name="apk_whitelist" />

frameworks/base/services/core/java/com/android/server/pm/permission/PermissionManagerService.java

java 复制代码
private List<String> mAPkWhitelist = new ArrayList<String>();

private boolean isInApkWhitelist(String pkgName) {
    for (String token : mAPkWhitelist) {
        if (pkgName.equals(token)) {
            return true;
        }
    }
    return false;
}
private void initApkWhitelist() {
    String[] apkWhitelist = Resources.getSystem().getStringArray(
            com.android.internal.R.array.apk_whitelist);
    mAPkWhitelist = Arrays.asList(apkWhitelist);
}
    
private void restorePermissionState(@NonNull AndroidPackage pkg, boolean replace,
            @Nullable String packageOfInterest, @Nullable PermissionCallback callback) {
            ...
                
        if (isInApkWhitelist(pkg.getPackageName())) {  // 增加的调用处理逻辑
                    grant = GRANT_INSTALL;
                }
            }
        } else if (bp.isSignature()) {
            // For all apps signature permissions are install time ones.
            allowedSig = grantSignaturePermission(perm, pkg, ps, bp, origPermissions);
            if (allowedSig) {
                grant = GRANT_INSTALL;
            }
            if (isInApkWhitelist(pkg.getPackageName())) {  // 增加的调用处理逻辑
                grant = GRANT_INSTALL;
            }
        }
        ...
    }
相关推荐
AALoveTouch1 小时前
大麦APP抢票:抓包分析与SO库Hook破盾
安卓
2501_9400940210 小时前
mig烧录卡资源 Mig-Switch游戏合集 烧录卡 1.75T
android·游戏·安卓·switch
键来大师1 天前
Android15 源码关闭Selinux
android·java·framework·rk3588
Nick56834 天前
Apple Pay 与 Google Pay 开发与结算全流程文档
ios·安卓·android-studio
键来大师4 天前
Android15 RK3588 修改默认不锁屏不休眠
android·java·framework·rk3588
专注VB编程开发20年4 天前
探讨vs2022在net6框架wpf界面下使用winform控件
framework·.net·wpf·winform·cefsharp·miniblink·geckofx45
2501_940094025 天前
emu系列模拟器最新汉化版 安卓版 怀旧游戏模拟器全集附可运行游戏ROM
android·游戏·安卓·模拟器
似霰9 天前
安卓14移植以太网&&framework-connectivity-t 编译问题
android·framework·安卓·ethernet
胖虎113 天前
Swift项目生成Framework流程以及与OC的区别
framework·swift·1024程序员节·swift framework
千里马学框架15 天前
windows系统上aosp15上winscope离线html如何使用?
android·windows·html·framework·安卓窗口系统·winscope