2

几个月前,我将这些权限添加到我的应用程序中,而 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

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

4

2 回答 2

2

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

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

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

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

于 2013-05-13T19:19:58.580 回答
0

在 Eclipse 中:

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

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

在 Android Studio 中:

File -> Settings -> Inspections

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

于 2013-10-08T10:28:19.793 回答