【问题标题】:Why show error Permission is only granted to system apps in android manifest为什么显示错误权限仅授予android清单中的系统应用程序
【发布时间】:2012-12-04 13:04:37
【问题描述】:

几个月前我将这些权限添加到我的应用程序中,而 Eclipse 从未显示过错误:

 <uses-permission android:name="android.permission.DELETE_PACKAGES" />
 <uses-permission android:name="android.permission.INSTALL_PACKAGES" />

然而,今天我编辑了 Android 清单文件,现在它显示错误:

Permission is only granted to system apps

为什么?我该如何解决这个问题?

【问题讨论】:

  • 尝试清理+构建。这对我有用
  • clean +build,没关系。但是我打开并编辑文件 androidmanifest 中的任何内容,它再次显示错误。
  • 好吧,clean+build 解决了我的问题。关闭项目后尝试重新启动eclipse。
  • 我遇到了同样的问题。我不确定 Eclipse 为什么要这样做,但这里有一个解决方法:stackoverflow.com/questions/16457720/…

标签: android eclipse manifest


【解决方案1】:

Eclipse 正在帮您一个忙——这确实是一个错误。只有使用 Google 签名密钥签名的应用才能安装或删除应用。

您可能可以通过在 Eclipse 中配置您的 lint 选项来抑制这些错误消息(请参阅 https://stackoverflow.com/a/16457801/338479),但除非您确实为 Google 工作并有权访问他们的签名密钥,否则您无法设置这些权限。

好吧,也许在有根设备上,但您的应用程序并不完全是可移植的。

编辑:还是您更改了 SDK 目标版本?也许旧版本的 Android 允许您拥有这些权限,但现在您的目标是一个不允许的版本?

【讨论】:

    【解决方案2】:

    在 Eclipse 中:

    Window -> Preferences -> Android -> Lint Error Checking.
    

    在列表中找到带有ID = ProtectedPermission. 的条目将严重性设置为低于错误的值。这样您仍然可以使用 Eclipse 编译项目。

    在 Android Studio 中:

    File -> Settings -> Inspections
    

    在 Android Lint 下,找到使用系统应用权限。取消选中该复选框或选择低于错误的严重性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 1970-01-01
      • 2012-03-18
      • 1970-01-01
      • 2018-03-31
      • 1970-01-01
      相关资源
      最近更新 更多