L'autorizzazione è concessa solo all'app di sistema


98

Ho un'app di sistema che utilizza le autorizzazioni di sistema e ho quelle autorizzazioni elencate nel manifest. Eclipse dà il seguente errore quando provo a creare una build (la build dalla riga di comando funziona):

L'autorizzazione è concessa solo alle app di sistema

Sono già consapevole che la mia app richiede le autorizzazioni di sistema e non è un problema per me perché la mia applicazione verrà utilizzata solo su telefoni rooted. Quindi voglio sopprimere questo errore, qualcuno sa come?

MODIFICA Il
mio progetto si compila già bene sulla riga di comando, installa, gira ecc. Il mio problema riguarda eclipse che dà un errore per un file manifest legittimo.



@AndroSelva non è correlato, il mio progetto si compila già bene sulla riga di comando, installa, gira ecc. Il mio problema riguarda eclipse che dà un errore per un file manifest legittimo. IMO dovrebbe produrre solo un avvertimento in questo caso.
Caner

Risposte:


205

In Eclipse:

Finestra -> Preferenze -> Android -> Controllo errore lanugine.

Nell'elenco trova una voce con ID = ProtectedPermission. Imposta la gravità su un valore inferiore a Errore. In questo modo puoi ancora compilare il progetto usando Eclipse.

In Android Studio:

File -> Impostazioni -> Editor -> Ispezioni

Sotto Android Lint, trova Using system app permission. Deseleziona la casella di controllo o scegli una Gravità inferiore a Errore.


1
Grazie! In Android Studio 1.2, l'ho trovato in File -> Impostazioni -> Editor -> Ispezioni.
Aaron

Voglio cambiare la luminosità dello schermo a livello di programmazione. Ho modificato il Lint nelle impostazioni. Ma sta generando un'eccezione di sicurezza durante il tentativo di modificare la luminosità dello schermo a livello di programmazione. Chiunque abbia una soluzione per implementare questa funzione in Android 3.1 sopra Marshmallow, per favore condividi.
Nithinjith

3
In Android Studio 2.1, vai su File -> Impostazioni -> Editor -> Ispezioni, quindi espandi Android> Lint> Correttezza. Seleziona "Utilizzo dell'autorizzazione dell'app di sistema", modifica la gravità o deseleziona la casella di controllo.
Ezekiel Baniaga

2
Era sotto Android > Lint > Correctnessper me.
Beyondo

74

Per ignorare questo errore solo per un'istanza, aggiungi l' tools:ignore="ProtectedPermissions"attributo alla dichiarazione di autorizzazione. Ecco un esempio:

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

Devi aggiungere lo toolsspazio dei nomi nell'elemento radice manifest

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

3
Questa è la risposta giusta. Perché disabilitare l'intera ispezione quando è necessaria solo parzialmente. Grazie Signore!
Yoraco Gonzales

Dovrai aggiungere lo spazio dei nomi ... xmlns: tools = " schemas.android.com/tools "
purplecabbage

13

Di tanto in tanto ho lo stesso errore (quando ho impostato la posizione di installazione su "preferisci esterno" nel file manifest). Basta pulire e ricostruire il progetto. Per me va bene.


3

quando aggiungi l'autorizzazione nel manifest, quindi in eclipse vai al progetto e fai clic

  1. fare clic sul progetto
  2. fare clic su progetto pulito, tutto qui

k sul progetto pulito


2
tools:ignore="ProtectedPermissions"

Prova ad aggiungere questo attributo a tale autorizzazione.


1

Preferenze -> EditorEditor -> Ispezioni -> Android Lint -> deseleziona la voce Uso dell'app di sistema permissio


1

Percorso in Android Studio in mac:

Android Studio -> Preferenze -> Editor -> Ispezioni

Espandi Android -> Espandi Lint -> Espandi correttezza

Deseleziona la casella di controllo per l' utilizzo dell'autorizzazione dell'app di sistema

Fare clic su "APPLICA" -> "OK"

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.