J'ai un App système qui utilise les autorisations du système et j'ai ces autorisations énumérées dans le manifeste. Eclipse donne le message error suivant lorsque j'essaie de construire (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 que ce n'est pas un problème pour moi car mon application ne sera utilisée que sur des téléphones rootés. Donc, je veux supprimer cette erreur, tout le monde sait comment?
MODIFIER
Mon projet compile déjà très bien en ligne de commande, s’installe, s’exécute, etc. Mon problème est qu’Eclipse donne une erreur pour un fichier manifeste légitime.
En Eclipse:
Fenêtre -> Préférences -> Android -> Vérification des erreurs de peluche.
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 en utilisant Eclipse.
Dans Android Studio:
Fichier -> Paramètres -> Éditeur -> Inspections
Sous Android Lint
, recherchez Using system app permission
. Décochez la case ou choisissez une gravité inférieure à Erreur.
Pour ignorer cette erreur pour une seule instance, ajoutez l'attribut tools:ignore="ProtectedPermissions"
à 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 espace de noms 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"
J'ai la même erreur de temps en temps (lorsque je configure l'emplacement d'installation sur "préférence externe" dans le manifeste) Il suffit de nettoyer et de reconstruire le projet. Travaille pour moi.
lorsque vous ajoutez la permission dans manifest alors___dans Eclipse, allez au projet et cliquez
k sur projet propre
Préférences -> Editeur Editeur -> Inspections -> Android Lint -> décochez la case Utilisation de l'autorisation de l'application système
tools:ignore="ProtectedPermissions"
Essayez d'ajouter cet attribut à cette autorisation.