[rk3399][Android 6.0] 为预装apk授权

2018-06-12  本文已影响0人  福later

目的:绕过Android 6.0授权机制
缺点:无法通过Google的CTS
1:修改/frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java 文件

grantPermissionsLPw(){
........
//add by luotao at 2018-03-12 start---------------预置apk列表
Slog.i(TAG, "------------------------pi2e robot--------------------------->");
String[] appList = { "pi2e.robot.com"}; //添加开放权限的app的包名
if(Arrays.asList(appList).contains(pkg.packageName)) {
Slog.i(TAG, "----------------------preseApp---------------------->"+pkg.packageName);
final int permsSize = pkg.requestedPermissions.size();
for (int i=0; i<permsSize; i++) {
final String name = pkg.requestedPermissions.get(i);
final BasePermission bp = mSettings.mPermissions.get(name);
//可以增加过滤权限列表,判断如果在权限列表里就授予
if(null != bp && permissionsState.grantInstallPermission(bp) !=
PermissionsState.PERMISSION_OPERATION_FAILURE) {
Slog.i(TAG, "-------------------perm&package grant permission " + name
+ " to package " + pkg.packageName);
changedInstallPermission = true;
}
}
}
//------------------end--------------------------------------------
........

}

上一篇下一篇

猜你喜欢

热点阅读