通过Root的Android系统权限

时间:2011-10-10 02:03:19

标签: android permissions root

W/PackageManager(61): Not granting permission android.permission.SET_ACTIVITY_WATCHER to package 

这是一个权限的示例,如果没有使用平台签名进行签名,则不会授予应用程序。据说我想知道在root设备上运行的任何应用程序(使用/ system / bin / su和SuperUser.apk)可以被授予任何这些权限。

Process p = Runtime.getRuntime().exec("su");
p.waitFor();

执行此操作会提示“accept”或“reject”超级用户对话框,但仍然会抛出SecurityException

2 个答案:

答案 0 :(得分:2)

您可以通过在AndroidManifest.xml中按如下方式设置sharedUserId来声明您的应用作为系统应用运行

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="[your package name]"
        android:sharedUserId="android.uid.system">

可在此处找到更多详细信息:How to sign Android app with system signature?

答案 1 :(得分:1)

您需要将apk文件复制到'/ system / apps'。它可以以编程方式完成。只有拥有root权限才能执行此操作。复制后,重新启动设备(如果您有root用户,也可以以编程方式完成重新启动),并且您将被授予清单文件中提到的所有权限。您也可以在市场上分发。