通过Root的Android系统权限

Tom*_*Tom 6 permissions android root

W/PackageManager(61): Not granting permission android.permission.SET_ACTIVITY_WATCHER to package 
Run Code Online (Sandbox Code Playgroud)

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

Process p = Runtime.getRuntime().exec("su");
p.waitFor();
Run Code Online (Sandbox Code Playgroud)

这样做会提示"accept"或"reject"超级用户对话框,但SecurityException仍会抛出s.

spa*_*nia 2

您可以通过在AndroidManifest.xml中设置sharedUserId来声明您的应用程序作为系统应用程序运行

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="[your package name]"
        android:sharedUserId="android.uid.system">
Run Code Online (Sandbox Code Playgroud)

更多详细信息可以在这里找到:如何使用系统签名对Android应用程序进行签名?

  • 我可以编译这个应用程序并在任何已取得 root 权限的设备上运行它并在 Android Market 上安全地分发它吗?我不是在制作自定义 ROM,只是为 root 设备制作一个应用程序。 (2认同)