Android: странная ошибка в манифесте

Я был modyfing моего приложения для Android, и я пытался использовать его на реальном устройстве (запустить приложение в eclipse), и все работало хорошо. Поэтому, когда я был удовлетворен моими изменениями, я открыл манифест, чтобы изменить версию для его выпуска, но БЕЗ КАКИХ-ЛИБО ИЗМЕНЕНИЙ в манифесте произошла ошибка в строке:

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

Ошибка:

 Permission is only granted to system apps 

Как это возможно? Я построил свое приложение много раз, используя эту строку.

Спасибо всем. Я решил странную проблему с

  Project > Clean 

Теперь все работает хорошо!

Вы не можете устанавливать пакеты самостоятельно, даже не спрашивайте об этом.

Используйте 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, скорее всего, он использовал устаревшую / устаревшую версию вашего манифеста, а когда вы ее открыли, изменения были перезагружены и выведены сообщение об ошибке. Просто удалите оскорбительное разрешение и используйте намерения.

Очистка будет работать, если вы уже изменили свои предпочтения. Просто проверьте приведенное ниже решение.

Разрешение предоставляется только системному приложению

В нем говорится изменить настройки Lint

В Eclipse:

Окно -> Настройки -> Android -> Проверка ошибок Lint.

В списке найдите запись с ID = ProtectedPermission . Установите уровень серьезности на уровень ниже ошибки. Таким образом, вы все еще можете скомпилировать проект с помощью Eclipse.

В Android Studio:

 File -> Settings -> Inspections 

В разделе « Android Lint найдите « Using system app permission . Отмените выбор флажка или выберите Уровень серьезности ниже ошибки.