L'autorisation n'est accordée qu'à l'application système


99

J'ai une application système qui utilise les autorisations système et j'ai ces autorisations répertoriées dans le manifeste. Eclipse donne l' erreur suivante lorsque j'essaye de faire une construction (la construction en ligne de commande fonctionne):

L'autorisation n'est accordée qu'aux applications système

Je sais déjà que mon application nécessite des autorisations système et ce n'est pas un problème pour moi car mon application ne sera utilisée que sur les téléphones rootés. Alors je veux supprimer cette erreur, tout le monde sait comment?

EDIT
Mon projet se compile déjà très bien en ligne de commande, installe, s'exécute, etc. Mon problème est d'éclipse donnant une erreur pour un fichier manifeste légitime.



@AndroSelva c'est sans rapport, mon projet se compile déjà très bien sur la ligne de commande, installe, s'exécute, etc. Mon problème est d'éclipse donnant une erreur pour un fichier manifeste légitime. OMI, il ne devrait produire qu'un avertissement dans ce cas.
Caner

Réponses:


206

Dans Eclipse:

Fenêtre -> Préférences -> Android -> Vérification des erreurs de peluches.

Dans la liste, recherchez une entrée avec ID = ProtectedPermission. Définissez la gravité sur une valeur inférieure à Erreur. De cette façon, vous pouvez toujours compiler le projet à l'aide d'Eclipse.

Dans Android Studio:

Fichier -> Paramètres -> Editeur -> Inspections

Sous Android Lint, localisez Using system app permission. Décochez la case ou choisissez une gravité inférieure à Erreur.


1
Merci! Dans Android Studio 1.2, j'ai trouvé cela sous Fichier -> Paramètres -> Éditeur -> Inspections.
Aaron

Je souhaite modifier la luminosité de l'écran par programmation. J'ai édité la charpie sous les paramètres. Mais cela lève une exception de sécurité tout en essayant de modifier la luminosité de l'écran par programmation. Tout le monde a une solution pour implémenter cette fonctionnalité dans Android 3.1 ci-dessus Marshmallow, veuillez partager.
Nithinjith

3
Dans Android Studio 2.1, allez dans Fichier -> Paramètres -> Éditeur -> Inspections, puis développez Android> Lint> Correctness. Sélectionnez «Utilisation de l'autorisation de l'application système», modifiez la gravité ou décochez la case.
Ezekiel Baniaga

2
C'était sous Android > Lint > Correctnesspour moi.
Beyondo

76

Pour ignorer cette erreur pour une seule instance, ajoutez l' tools:ignore="ProtectedPermissions"attribut à votre déclaration d'autorisation. Voici un exemple:

<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
    tools:ignore="ProtectedPermissions" />

Vous devez ajouter un toolsespace de noms dans l'élément racine du manifeste

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"

3
C'est la bonne réponse. Pourquoi désactiver toute l'inspection alors qu'elle n'est que partiellement nécessaire Merci Monsieur!
Yoraco Gonzales

Vous devrez ajouter l'espace de noms ... xmlns: tools = " schemas.android.com/tools "
purplecabbage

13

Avoir la même erreur de temps en temps (lorsque je définis l'emplacement d'installation sur "préférer externe" dans le manifeste). Juste nettoyer et reconstruire le projet. Travaille pour moi.


3

lorsque votre autorisation d'ajout dans le manifeste puis dans eclipse allez au projet et cliquez

  1. cliquez sur projet
  2. cliquez sur projet propre c'est tout

k sur un projet propre



1

Préférences -> EditorEditor -> Inspections -> Android Lint -> décochez l'élément Utilisation de l'autorisation de l'application système


1

Chemin dans Android Studio sous mac:

Android Studio -> Préférences -> Éditeur -> Inspections

Développez Android -> Développez la charpie -> Développez la correction

Décochez la case Utiliser l'autorisation de l'application système

Cliquez sur "APPLIQUER" -> "OK"

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.