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
。
答案 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用户,也可以以编程方式完成重新启动),并且您将被授予清单文件中提到的所有权限。您也可以在市场上分发。