2011-01-13 31 views
5

¿Hay alguna manera de cambiar el IMEI que devolverá el emulador TelephonyManager? Además, ¿hay alguna manera de cambiar la ID devuelta por Settings.Secure.ANDROID_ID?¿Cambiar la identificación del dispositivo en un emulador de Android?

Utilizo estas identificaciones para distinguir a mis usuarios entre sí al almacenar sus datos en el lado del servidor. Sería bueno si mi equipo de QA pudiera cambiar estos ID para que no todos estén usando el mismo conjunto de datos de usuario.

Respuesta

2

No lo he intentado, pero this page describe un método que implica la modificación manual del archivo emaultor.exe. Parece bastante sencillo, aunque debería crear un emulador separado para cada miembro del equipo de control de calidad.

+0

no es la mejor manera, pero es la única manera! En su seguimiento [post] (http://blog.codepainters.com/2010/11/20/android-emulator-patch-for-configurable-imei-imsi-and-sim-card-serial-number/) él suministra un parche para hacerlo configurable (requiere recompilar el emulador, por supuesto). –

+0

Voto por el enlace a mi blog :) Nota, que he movido un blog a http://blog.codepainters.com, ¡disfrútalo! –

+0

En lugar de proporcionar un enlace a la solución, describa la respuesta – Berik

2

En lo que va Settings.Secure.ANDROID_ID, esto debería hacer el truco:.

adb shell sqlite3 /data/data/com.android.providers.settings/databases/settings.db "UPDATE secure SET value='newid' WHERE name='android_id' "

Dónde newid es por lo general el código hexadecimal de 16 dígitos (es decir, no añadir "Android_" a ella)
Sólo intentado esto en el emulador imagino tendría que ser arraigado por primera vez un teléfono real

+0

Creo que esta respuesta describe la forma más fácil de cambiar _ el valor. Sin embargo, todavía necesita una forma _refresh_ del caché de tiempo de ejecución de Android. Desde mi punto de vista, la única forma en que se me ocurre hacer eso es reiniciar el emulador, lo cual es un inconveniente desde el punto de vista del tiempo :-( – dbm

+0

¿Puede darnos un ejemplo? – user358591

+0

¿Tiene un error ?: "actualizar" : error de sintaxis – user358591

1

consulta android_id utilizar este comando en adb shell:..

settings get secure android_id

cambio android_id utilizar este comando en adb shell:

settings put secure android_id xxxxxxxxxxxxxxxx

0

respuesta de zyc zyc es el mejor hasta androide 7.1.1 (25). De androide 8 reglas de android_id ha cambiado como se describe en la documentación oficial de los desarrolladores: https://android-developers.googleblog.com/2017/04/changes-to-device-identifiers-in.html

In O, Android ID (Settings.Secure.ANDROID_ID or SSAID) has a different value for each app and each user on the device. Developers requiring a device-scoped identifier, should instead use a resettable identifier, such as Advertising ID, giving users more control. Advertising ID also provides a user-facing setting to limit ad tracking. Additionally in Android O: The ANDROID_ID value won't change on package uninstall/reinstall, as long as the package name and signing key are the same. Apps can rely on this value to maintain state across reinstalls. If an app was installed on a device running an earlier version of Android, the Android ID remains the same when the device is updated to Android O, unless the app is uninstalled and reinstalled. The Android ID value only changes if the device is factory reset or if the signing key rotates between uninstall and reinstall events. This change is only required for device manufacturers shipping with Google Play services and Advertising ID. Other device manufacturers may provide an alternative resettable ID or continue to provide ANDROID ID.

Cuestiones relacionadas