./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博客