11 votes

Où puis-je trouver l'ANDROID_ID sur mon appareil ?

Je sais que vous pouvez trouver l'IMEI et l'adresse MAC et autres en allant sur Settings -> About phone -> Status . Vous pouvez également trouver l'IMEI en tapant *#06# sur le clavier. Existe-t-il un moyen d'obtenir l'ANDROID_ID sur le téléphone lui-même, plutôt que via ce bout de code ?

Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);

8voto

David Negron Points 971

Vous pouvez le faire via adb . Ne nécessite pas de Root, pour autant que je sache (testé sur un Galaxy Nexus exécutant 4.2.1 construit à partir de la source AOSP) :

shell@android:/ $ content query --uri content://settings/secure --projection value --where "name='android_id'"              
  Row: 0 value=<your ID in hexadecimal>

7voto

Matthew Read Points 50150

settings get secure android_id de adb shell est le plus simple, je trouve - pas de sortie étrangère et ne nécessite pas de Root. (À partir d'un terminal ordinaire sur l'appareil, Root est nécessaire).

shell@mydevice:/ $ settings get secure android_id
0123456789abcdef
shell@mydevice:/ $

2voto

Milner Points 533

Comme variante elderathis n'a pas fonctionné pour moi, et je ne voulais pas installer une application juste pour ça, j'ai trouvé un autre moyen. Seul inconvénient possible : Il faut être rooté.

adb shell
$ su
# cd /data/data/com.android.providers.settings/databases
# sqlite3 settings.db
sql> select * from secure where name='android_id';
26|android_id|1234567890abcdef1

En android_id se trouve dans la troisième colonne ici (anonymisée dans l'exemple).


EDITAR:

Notez que c'est PAS die android_id utilisé par les applications Google. Google semble avoir décidé de créer une certaine confusion ici. Pour Services de jeux il y a un autre android_id stocké par GTalk como signalée par un billet de blog (voir aussi cette réponse par HassleFixes qui est l'auteur de StripSearch et l'a heureusement fait remarquer dans les commentaires) :

  • appelez votre composeur
  • composez *#*#8255#*#*
  • attention à "Device ID" (identification du dispositif)
  • supprimer le début android-
  • ce qui reste, c'est le android_id utilisé par Services Google

J'ai vérifié que : le android_id récupéré de cette manière fonctionne bien sur un appareil sans Google-Apps installé (utilisé avec le programme BlankStore fourni par le NOGAPPS projet).

2voto

chrisinajar Points 21

La réponse ci-dessus a $ content query --uri content://settings/secure --projection value --where "name='android_id'" en elle

Si vous l'exécutez à partir du shell, vous devrez échapper les guillemets autour d'android_id, sinon ils seront interprétés et l'instruction SQL ne les aura pas, ce qui donnera une colonne inconnue.

Ma commande complète de bash ressemble à la ligne...
$ adb shell content query --uri content://settings/secure --projection value --where "name=\'android_id\'"

Pas assez de réputation pour commenter la réponse qui l'a suggéré ci-dessus.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X