Android android.uid.system的应用调用安装apk失败

133 阅读1分钟

./services/core/java/com/android/server/am/ActivityManagerService.java

增加对应的Authority,可以看到checkGrantUriPermissionLocked方法中有针对设置应用做释放

// Bail early if system is trying to hand out permissions directly; it
        // must always grant permissions on behalf of someone explicit.
        final int callingAppId = UserHandle.getAppId(callingUid);
        if ((callingAppId == SYSTEM_UID) || (callingAppId == ROOT_UID)) {
            if ("com.android.settings.files".equals(grantUri.uri.getAuthority())) {
                // Exempted authority for cropping user photos in Settings app
            } else {
                Slog.w(TAG, "For security reasons, the system cannot issue a Uri permission"
                        + " grant to " + grantUri + "; use startActivityAsCaller() instead");
                return -1;
            }
        }
————————————————

"com.android.settings.files",所以只要增加自己apk对应的Authority即可

参考文章

Android android.uid.system的应用调用安装apk失败_android:shareduserid="android.uid.system"无法安装-CSDN博客