Wenn ich alle Berechtigungen für alle Apps auf einem Nexus 7 abspeichere, erhalte ich (wie erwartet) Berechtigungen mit den Schutzstufen 0 (NORMAL), 1 (GEFÄHRLICH), 2 (UNTERSCHRIFT). Nichts protokolliert unter 3 (SIGNATURE_OR_SYSTEM) *.
Aber es gibt auch viele Berechtigungen, deren Schutzstufe auf "18" und manche auf "50" gesetzt sind.
Ich kann keine Dokumentation darüber finden, was diese Werte darstellen. Weiß jemand das?
* Unter 3. wird nichts protokolliert.
Dies ist was protokolliert wurde:
%Vor%Habe gerade eine alte unbeantwortete Frage gesehen. Obwohl du deine Antwort vielleicht schon bekommst, beantworte ich sie trotzdem. Es kann anderen helfen. :)
Es gibt auch viele Berechtigungen, deren Schutzstufe auf "18" und einige auf "50" gesetzt sind.
Der folgende Code wird von PermissionInfo.java in Android Source:
abgerufen %Vor%Wenn also eine Signatur / Systemberechtigung vorhanden ist, wäre der Level 18 (0x10 | 0x2). Wenn die Berechtigung für spezielle Entwicklungstools verwendet wird, wäre dies 50 (0x10 | 0x20 | 0x2).
Ich kann keine Dokumentation darüber finden, was diese Werte darstellen. Weiß jemand das?
Wie ich in einer vorhandenen Frage beantwortet habe, können Sie die Schutzstufe und die Beschreibung dieser Berechtigungen in% co_de überprüfen % und framework/base/core/res/AndroidManifest.xml
. Ich poste einige von ihnen hier für Ihre Referenz.
Wenn für diesen XML-Block eine framework/base/data/etc/platform.xml
-Anmerkung vorhanden ist, können Sie keine Ressourcen aus der Dokumentation zu dieser Berechtigung finden.
Die Entwicklungserlaubnis 0x20, die diejenigen zusammenstellt, auf die du dich beziehst, sind eine Reihe von Berechtigungen, die von Google während der Android-Entwicklung eingeführt wurden und niemals automatisch von PackageManager
gewährt werden. Um sie verwenden zu können, müssen Sie adb shell pm grant permission
gewähren.
Sie können den Code sehen, der das tut und die Änderung, die von Google auf diesem 21.02.2012 commit .