Ich weiß, dass Sie IMEI- und MAC-Adressen und andere finden können, indem Sie zu gehen Settings -> About phone -> Status
. Sie können IMEI auch finden, indem Sie *#06#
auf der Tastatur tippen. Gibt es eine Möglichkeit, die ANDROID_ID auf dem Telefon selbst abzurufen, anstatt über diesen Code?
Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);
imei
android-id
Kalinka
quelle
quelle
Antworten:
Sie können dies über tun
adb
. Benötigt meines Wissens kein Root (getestet auf einem Galaxy Nexus mit 4.2.1, das aus einer AOSP-Quelle erstellt wurde):quelle
settings get secure android_id
fromadb shell
ist das einfachste, finde ich - keine fremde Ausgabe und benötigt kein root. (Von einem normalen Terminal auf dem Gerät ist root erforderlich.)quelle
android_sdk/platform-tools/
mit cmd oder einem anderen Terminal zu. 2. umadb devices
zu überprüfen, ob Ihr Handy über USB gefunden werden kann. 3.adb shell
. 4. Führen Sie in dieser Antwort den Befehl aus.Da die Eldarerathis-Variante für mich nicht funktioniert hat und ich keine App nur dafür installieren wollte, habe ich einen anderen Weg gefunden. Einziger möglicher Nachteil: Es erfordert root.
Das
android_id
befindet sich hier in der dritten Spalte (im Beispiel anonymisiert).BEARBEITEN:
Beachten Sie, dass dies nicht die
android_id
von dem Google Apps verwendet. Google scheint sich hier für einige Verwirrung entschieden zu haben. Für Play Services gibt es eine separateandroid_id
von GTalk gespeicherte Datei , auf die in einem Blogbeitrag hingewiesen wird (siehe auch diese Antwort von HassleFixes , dem Autor von StripSearch , und hat dies dankenswerterweise in den Kommentaren hervorgehoben):*#*#8255#*#*
android-
android_id
von Google Services verwendeteIch habe Folgendes überprüft: Das auf
android_id
diese Weise abgerufene Gerät funktioniert auf einem Gerät ohne installierte Google-Apps (verwendet mit dem vom NOGAPPS- Projekt bereitgestellten BlankStore ).quelle
Die oben genannte Antwort hat
$ content query --uri content://settings/secure --projection value --where "name='android_id'"
darinWenn Sie dies über die Shell ausführen, müssen Sie die Anführungszeichen um android_id umgehen, da sie sonst interpretiert werden und die SQL-Anweisung sie nicht enthält, was zu einer unbekannten Spalte führt.
Mein voller Befehl von Bash sieht Linie ...
$ adb shell content query --uri content://settings/secure --projection value --where "name=\'android_id\'"
^ Nicht genug Ruf, um die Antwort zu kommentieren, die es oben vorgeschlagen hat
quelle
adb shell
und führte dann einen weiteren Befehl innerhalb dieser Shell aus. Dies funktioniert einwandfrei, ohne den Anführungszeichen zu entgehen. Ihre Antwort besteht darin, einen einzelnen Befehl auf dem Hauptcomputer auszuführen. Dafür müssen Sie den Anführungszeichen entkommen.