11 votos

¿Dónde puedo encontrar el ANDROID_ID en mi dispositivo?

Sé que puedes encontrar la dirección del IMEI y del MAC y otras, yendo a Settings -> About phone -> Status . También puedes encontrar el IMEI escribiendo *#06# en el teclado. ¿Hay alguna manera de obtener el ANDROID_ID en el propio teléfono, en vez de a través de este trozo de código?

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

0 votos

8voto

David Negron Puntos 971

Puedes hacer esto a través de adb . No requiere root, por lo que sé (probado en un Nexo de Galaxy que funciona 4.2.1 construido a partir de una fuente AOSP):

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

2 votos

Si se ejecuta a través de una aplicación de emulador de terminal, se requiere Root.

0 votos

Adb tiene más privilegios que el usuario local del shell. Con Android 4.x (ICS y superior), incluso se puede hacer una copia de seguridad completa a través de ADB en un dispositivo no rooteado - que el usuario shell seguro que no puede.

7voto

Matthew Read Puntos 35808

settings get secure android_id de adb shell es el más simple, creo - no hay salida extraña y no requiere Root. (Desde un terminal normal en el dispositivo, se requiere Root).

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

0 votos

Para entrar en el adb shell: 1. Ir a android_sdk/platform-tools/ con cmd u otro terminal. 2. adb devices para comprobar si su móvil se puede encontrar a través de USB. 3. adb shell . 4. Ejecute el comando en esta respuesta.

2voto

Liam W Puntos 6478

No hay ningún lugar en el sistema de existencias que proporcione la identificación, sin embargo hay aplicaciones que la proporcionarán, tales como Información del sistema Android .

Algunos menús ocultos de ROMS también contienen esta información.

2voto

Izzy Puntos 45544

Como variante de eldarerathis no me funcionó, y no quería instalar una aplicación sólo para eso, he encontrado una manera diferente. El único inconveniente posible: Requiere 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

El android_id se encuentra en la tercera columna aquí (anonimizada en el ejemplo).


EDITAR:

Tenga en cuenta que esto es NO el android_id utilizado por las aplicaciones de Google. Parece que Google ha decidido que hay una confusión aquí. Para Servicios de juego hay una parte separada android_id almacenado por GTalk como señalado por una entrada en el blog (véase también esta respuesta de HassleFixes que es el autor de StripSearch y afortunadamente señaló esto en los comentarios):

  • llama a tu marcador
  • marque *#*#8255#*#*
  • Cuidado con la "Identificación del dispositivo"
  • quitar el plomo android-
  • lo que queda, es el android_id utilizado por Servicios de Google

He verificado que: el android_id recuperado de esta manera funciona bien en un dispositivo sin Google-Apps instalado (utilizado con el BlankStore proporcionada por el NOGAPPS proyecto).

2voto

Max Puntos 8

La respuesta anterior tiene $ content query --uri content://settings/secure --projection value --where "name='android_id'" en él

Si ejecutas esto desde el shell, tendrás que escapar las comillas alrededor de android_id, de lo contrario se interpretan y la sentencia SQL no las tiene, resultando en una columna desconocida.

Mi comando completo de bash parece la línea...
$ adb shell content query --uri content://settings/secure --projection value --where "name=\'android_id\'"

^ No hay suficiente reputación para comentar la respuesta que lo sugiere arriba

0 votos

Algo así. La respuesta de @eldarerathis inició un shell en el dispositivo con adb shell y luego ejecutó otro comando dentro de ese shell. Esto funciona bien sin escapar las comillas. Su respuesta es ejecutar un solo comando en la máquina principal; para esto sí necesita escapar las comillas.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X