114 votes

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

Tengo un Application système qui utilise les permissions du système et j'ai ces permissions dans le manifeste. Eclipse donne le résultat suivant erreur lorsque j'essaie de faire une construction (la construction en ligne de commande fonctionne) :

L'autorisation n'est accordée qu'aux applications du 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 des téléphones enracinés. Je veux donc supprimer cette erreur, quelqu'un sait comment ?

EDITAR
Mon projet se compile déjà très bien en ligne de commande, s'installe, fonctionne, etc. Mon problème est qu'Eclipse donne une erreur pour un fichier manifeste légitime.

2 votes

Avez-vous vérifié ceci stackoverflow.com/q/9494965/603744

0 votes

@AndroSelva c'est sans rapport, mon projet se compile déjà très bien en ligne de commande, s'installe, fonctionne etc. Mon problème est qu'Eclipse donne une erreur pour un fichier manifeste légitime. IMO il devrait seulement produire un avertissement dans ce cas.

217voto

Ole Points 3962

Dans Eclipse :

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

Dans la liste, trouvez une entrée avec ID = ProtectedPermission . Définissez la gravité à un niveau inférieur à celui d'erreur. De cette façon, vous pouvez toujours compiler le projet en utilisant Eclipse.

Dans Android Studio :

Fichier -> Paramètres -> Éditeur -> Inspections

Sous Android Lint , localiser Using system app permission . Soit vous décochez la case, soit vous choisissez une gravité inférieure à Erreur.

1 votes

Merci. Dans Android Studio 1.2, j'ai trouvé ceci sous File -> Settings -> Rédacteur en chef -> Inspections.

0 votes

Je veux changer la luminosité de l'écran de manière programmatique. J'ai modifié la Lint sous les paramètres. Mais il y a une exception de sécurité lorsqu'on essaie de changer la luminosité de l'écran par programme. Si quelqu'un a une solution pour implémenter cette fonctionnalité dans Android 3.1 au-dessus de Marshmallow, merci de la partager.

4 votes

Dans Android Studio 2.1, allez dans Fichier -> Paramètres -> Editeur -> Inspections puis développez Android > Lint > Correctness. Sélectionnez "Using system app permission", modifiez la sévérité ou décochez la case.

105voto

Jesta Points 1187

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

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

Vous devez ajouter tools dans l'élément racine du manifeste

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

13voto

Amalia Points 111

J'ai la même erreur de temps en temps (lorsque je règle l'emplacement d'installation sur "prefer external" dans le manifeste). Il suffit de nettoyer et de reconstruire le projet. Cela fonctionne pour moi.

7voto

user10206860 Points 41
tools:ignore="ProtectedPermissions"

Essayez d'ajouter cet attribut à cette autorisation.

3voto

Adiii Points 5246

Lorsque vous ajoutez la permission dans le manifeste, alors dans eclipse, allez dans le projet et cliquez

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

k on clean project

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X