首页
论坛
课程
招聘
[原创][实践] Android5.1.1源码 - 添加应用权限
2016-7-15 11:27 4770

[原创][实践] Android5.1.1源码 - 添加应用权限

2016-7-15 11:27
4770
我自己修改Android ROM的时候需要给每个应用添加特定的权限,然后就研究了一下如何修改Andorid源码添加特定的权限。

我的博客:i不歪

修改方法

修改PackageParser类,该类在文件frameworks/base/core/java/android/content/pm/PackageParser.java中。

在PackageParser类中添加下面的方法:
private void addUsersPermission(Package pkg, String usersPermission) {
    int index = pkg.requestedPermissions.indexOf(usersPermission);
    if (-1 == index) {
        pkg.requestedPermissions.add(usersPermission.intern());
        pkg.requestedPermissionsRequired.add(Boolean.TRUE);
    } else {
        pkg.requestedPermissionsRequired.set(index, Boolean.TRUE);
    }
}


在PackageParser类parseBaseApk方法中添加下面语句:
addUsersPermission(pkg, <权限字符串>);

添加位置:在该方法的最后一行代码前添加。

权限字符串

如果要添加网络权限,那么权限字符串传入:"android.permission.INTERNET",代码见下:
addUsersPermission(pkg, "android.permission.INTERNET");

以此类推,权限字符串是AndroidManifest.xml中"uses-permission"标签中所能设置的权限。

[培训] 优秀毕业生寄语:恭喜id:一颗金柚子获得阿里offer《安卓高级研修班》火热招生!!!

收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 111
活跃值: 活跃值 (77)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
netsniffer 活跃值 2016-7-15 14:44
2
0
这只是添加app需要的permission,系统PMS并不一定会给app grant这些permission,
要直接授权某些特定permission,还是建议修改PMS
雪    币: 120
活跃值: 活跃值 (38)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
不歪 活跃值 2 2016-7-15 16:56
4
0
我添加网络权限,所以没有这个问题
游客
登录 | 注册 方可回帖
返回