【发布时间】:2013-02-21 16:09:42
【问题描述】:
我开发了一个需要获得android.permission.UPDATE_DEVICE_STATS 权限的应用程序。但是,当我将此权限添加到我的应用程序的 AndroidMainfest.xml 文件时,我收到此错误:
“权限只授予系统应用”
如何将我的应用更改为系统应用?有没有其他方法可以解决这个问题?
【问题讨论】:
标签: android android-permissions
我开发了一个需要获得android.permission.UPDATE_DEVICE_STATS 权限的应用程序。但是,当我将此权限添加到我的应用程序的 AndroidMainfest.xml 文件时,我收到此错误:
“权限只授予系统应用”
如何将我的应用更改为系统应用?有没有其他方法可以解决这个问题?
【问题讨论】:
标签: android android-permissions
最重要的是要知道:系统应用程序只能由已植根设备的人运行。这意味着如果您没有根设备,则无法测试和运行自己的应用程序。
您可以通过在 AndroidManifest.xml 中设置 sharedUserId 来声明您的应用作为系统应用运行
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="[your package name]"
android:sharedUserId="android.uid.system">
否则您必须使用系统密钥对您的应用程序进行签名,请参阅此线程How to compile Android Application with system permissions
【讨论】:
android.uid.system?因为我仍然无法编译我的程序=(
如何将我的应用更改为系统应用。
构建您自己的固件(即 ROM 模块)并使用与该固件相同的签名密钥对您的应用进行签名。
或者,由于这是一个签名或系统权限,您可以根您的设备并在系统分区上安装 APK。
【讨论】: