2011-01-13 10 views
5

C'è un modo per modificare l'IMEI che verrà restituito dall'emulatore TelephonyManager? Inoltre, c'è un modo per modificare l'ID restituito da Settings.Secure.ANDROID_ID?Modificare l'ID del dispositivo su un emulatore Android?

Uso questi ID per distinguere i miei utenti l'uno dall'altro quando si memorizzano i dati sul lato server. Sarebbe bello se il mio team di QA potesse cambiare questi ID in modo che non tutti usassero lo stesso insieme di dati utente.

risposta

2

Non l'ho provato, ma this page delinea un metodo che comporta la modifica manuale del file emaultor.exe. Sembra abbastanza semplice, anche se dovresti creare un emulatore separato per ogni membro del team QA.

+0

non è il modo migliore, ma è l'unico modo! Nel suo follow-up [post] (http://blog.codepainters.com/2010/11/20/android-emulator-patch-for-configurable-imei-imsi-and-sim-card-serial-number/) fornisce una patch per renderla configurabile (richiede la ricompilazione dell'emulatore, ovviamente). –

+0

Upvoting dovuto al collegamento al mio blog :) Nota che ho spostato un blog su http://blog.codepainters.com, divertiti! –

+0

Invece di fornire un collegamento alla soluzione, descrivere la risposta – Berik

2

Per quanto riguarda Settings.Secure.ANDROID_ID va, questo dovrebbe fare il trucco:.

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

Dove newid di solito è il codice esadecimale cifre 16 (vale a dire non si aggiunge "Android_" ad esso)
ho provato solo questo sul emulatore immagino un vero e proprio telefono avrebbe bisogno di essere radicato prima

+0

Penso che questa risposta descriva il modo più semplice per _effettivamente_cambiare il valore. Hai comunque bisogno di un modo per _refresh_ la cache di runtime di Android, comunque. Dall'alto della mia testa, l'unico modo che posso immaginare è quello di riavviare l'emulatore che è un po 'scomodo da una prospettiva temporale :-( – dbm

+0

Puoi darci un esempio? – user358591

+0

Hai ottenuto l'errore: vicino a "aggiornamento" : Errore di sintassi – user358591

1

interrogazione android_id utilizzare questo comando in adb shell:..

settings get secure android_id

cambiamento android_id usate questo comando nella shell adb:

settings put secure android_id xxxxxxxxxxxxxxxx

0

risposta ZYC ZYC è il migliore fino android 7.1.1 (25). Da Android 8 leggi di android_id è cambiata, come descritto nella documentazione ufficiale degli sviluppatori: 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.

Problemi correlati