Ich habe eine System-App , die Systemberechtigungen verwendet, und diese Berechtigungen sind im Manifest aufgelistet. Eclipse gibt den folgenden Fehler aus, wenn ich versuche, einen Build zu erstellen (Befehlszeilen-Build funktioniert):
Die Berechtigung wird nur für System-Apps erteilt
Mir ist bereits bekannt, dass für meine App Systemberechtigungen erforderlich sind, und dies ist für mich kein Problem, da meine Anwendung nur auf gerooteten Telefonen verwendet wird. Also möchte ich diesen Fehler unterdrücken, weiß jemand wie?
EDIT
Mein Projekt kann bereits in der Befehlszeile kompiliert, installiert, ausgeführt usw. werden. Mein Problem ist, dass Eclipse einen Fehler für eine legitime Manifestdatei gibt.
In Eclipse:
Fenster -> Einstellungen -> Android -> Lint Error Checking.
In der Liste finden Sie einen Eintrag mit ID = ProtectedPermission
. Stellen Sie den Schweregrad auf etwas niedriger als Fehler ein. Auf diese Weise können Sie das Projekt immer noch mit Eclipse kompilieren.
In Android Studio:
Datei -> Einstellungen -> Editor -> Inspektionen
Suchen Sie unter Android Lint
Using system app permission
. Deaktivieren Sie entweder das Kontrollkästchen oder wählen Sie einen niedrigeren Schweregrad als Fehler.
Um diesen Fehler nur für eine Instanz zu ignorieren, fügen Sie der Berechtigungsdeklaration das Attribut tools:ignore="ProtectedPermissions"
hinzu. Hier ist ein Beispiel:
<uses-permission Android:name="Android.permission.READ_PRIVILEGED_PHONE_STATE"
tools:ignore="ProtectedPermissions" />
Sie müssen im Manifest-Stammelement tools
-Namespace hinzufügen
<manifest xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Habe von Zeit zu Zeit denselben Fehler (wenn ich den Installationsort auf "bevorzugt extern" im Manifest einstelle). Reinigen Sie das Projekt und bauen Sie es neu auf. Funktioniert bei mir.
wenn Ihre Erlaubnis im Manifest vorhanden ist, gehen Sie zu Eclipse und klicken Sie auf
k auf sauberes Projekt
Einstellungen -> Editor -> Inspektionen -> Android-Fussel -> Deaktivieren Sie das Kontrollkästchen Element mit Berechtigung für System-App
tools:ignore="ProtectedPermissions"
Fügen Sie dieses Attribut dieser Berechtigung hinzu.