1

我们知道,当一个应用程序安装在 android (/system/app 文件夹) 中时,它会被系统分配一个 userid 和 groupid (在 Linux 文件系统中使用),应用程序配置保存在 package.xml 中。像文件管理器应用程序

<package name="com.android.filemanager" code Path ="/system/app/  FileManager.apk" flags="1" ts="1314087422000" version="1"  userId="10036"> 

此 xml 中没有权限标记。那么它从哪里获得执行权限?.. 有什么方法可以获得这个应用程序的权限。

4

2 回答 2

2

提供了一个洞察为什么不可能那么容易地获得权限。

不过,您可以在应用程序中使用此代码在列表中动态获取其权限:

final List<PackageInfo> permissions_list = getApplicationContext().getPackageManager().getInstalledPackages(PackageManager.GET_PERMISSIONS);

使用您返回的 s 的属性PackageInfo来获取清单中标记声明的所有权限的字符串数组<uses-permission>,而不是您在评论中写的权限。

由于上述文档链接中所述的安全预防措施,也无法以编程方式更改这些权限,但有一些应用程序允许阻止根设备的某些权限。我从来没有用过,所以我不知道它们是否有效。

于 2012-07-12T06:43:15.790 回答
1

在我的情况下 package.xml 存在于数据/系统路径中,它包含所有带有包的权限列表

于 2012-07-12T06:39:07.207 回答