Sé que puede encontrar la dirección IMEI y MAC y otras visitando Settings -> About phone -> Status. También puede encontrar IMEI escribiendo *#06#en el teclado. ¿Hay alguna forma de obtener el ANDROID_ID en el teléfono, en lugar de a través de este bit de código?
Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);
imei
android-id
Kalinka
fuente
fuente

Respuestas:
Puedes hacerlo a través de
adb. No requiere root, que yo sepa (probado en un Galaxy Nexus con 4.2.1 construido a partir de una fuente AOSP):fuente
settings get secure android_iddesdeadb shelles el más simple, creo que no hay salida extraña y no requiere root. (Desde un terminal regular en el dispositivo, se requiere root).fuente
android_sdk/platform-tools/con cmd u otro terminal. 2.adb devicespara verificar si su móvil se puede encontrar a través de USB. 3adb shell.. 4. Ejecute el comando en esta respuesta.Como eldarera esta variante no funcionó para mí, y no quería instalar una aplicación solo por eso, he encontrado una forma diferente. Único inconveniente posible: requiere root.
El
android_idse encuentra en la tercera columna aquí (anónimo en el ejemplo).EDITAR:
Tenga en cuenta que este NO es el
android_idutilizado por las aplicaciones de Google. Google parece haber decidido por cierta confusión aquí. Para Play Services , GTalkandroid_idalmacena por separado , como lo señala una publicación de blog (también vea esta respuesta de HassleFixes , quien es el autor de StripSearch , y afortunadamente lo señaló en los comentarios):*#*#8255#*#*android-android_idutilizado por los servicios de GoogleHe verificado que: el
android_idrecuperado de esta manera funciona bien en un dispositivo sin Google-Apps instalado (utilizado con el BlankStore proporcionado por el proyecto NOGAPPS ).fuente
La respuesta anterior tiene
$ content query --uri content://settings/secure --projection value --where "name='android_id'"en ellaSi está ejecutando esto desde el shell, entonces deberá escapar de las comillas alrededor de android_id, de lo contrario, se interpretarán y la instrucción SQL no las tendrá, lo que dará como resultado una columna desconocida.
Mi comando completo de bash parece 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 sugirió anteriormente
fuente
adb shell, y luego ejecutó otro comando dentro de ese shell. Esto funciona bien sin escapar de las comillas. Su respuesta es ejecutar un solo comando en la máquina principal; para esto necesitas escapar de las comillas.