Android:Manifest中的奇怪错误

时间:2012-11-23 14:47:51

标签: android android-manifest manifest

我正在调整我的Android应用程序,我在真实设备上尝试它(在eclipse中运行应用程序)并且一切正常。因此,当我对我的更改感到满意时,我打开了Manifest以修改发布它的版本,但是在Manifest中没有任何更改,行中出现错误:

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

错误是:

Permission is only granted to system apps

这怎么可能?我用这条线多次构建了我的应用程序。

3 个答案:

答案 0 :(得分:18)

感谢所有人。我用

解决了这个奇怪的问题
 Project > Clean

现在一切都好了!

答案 1 :(得分:2)

你可能不会自己安装软件包,甚至不会问这个问题。

为此目的使用Intent

Intent installIntent = new Intent(Intent.ACTION_VIEW );
installIntent.setDataAndType(
    Uri.parse("file://" + context.getFilesDir().getAbsolutePath() + "/" + file_name_to_install),
    "application/vnd.android.package-archive");
startActivity(installIntent);

如果您使用的是Eclipse,很可能它使用了Manifest的旧/过时版本,当您打开它时,重新加载更改并显示错误消息。只需删除违规许可并使用Intents。

答案 2 :(得分:2)

如果您已经更改了lint首选项,清洁将起作用。否则请查看以下解决方案。

Permission is only granted to system app

它表示要更改您的Lint设置

在Eclipse中:

  

窗口 - &gt;偏好 - &gt; Android - &gt; Lint错误检查。

在列表中找到ID = ProtectedPermission的条目。将Severity设置为低于Error的值。这样您仍然可以使用Eclipse编译项目。

在Android Studio中:

File -> Settings -> Inspections

Android Lint下,找到Using system app permission。取消选中该复选框或选择低于错误的严重性。