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.

Caner
la source
2
Avez-vous vérifié ce stackoverflow.com/q/9494965/603744
Andro Selva
@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.

Ole
la source
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"
Jesta
la source
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.

Amalia
la source
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

Adiii
la source
2
tools:ignore="ProtectedPermissions"

Essayez d'ajouter cet attribut à cette autorisation.

utilisateur10206860
la source
1

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

Văn Vũ
la source
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"

Karishma Chaudhary
la source