Ejecución de varios emuladores de Android con diferentes números de teléfono
Cartel de la primera vez aquí.
Estoy trabajando en una aplicación cliente-servidor de Android y tratando de averiguar cómo identificar diferentes teléfonos / usuarios al servidor sin ambigüedad. Mi primer intento sería utilizar el número de teléfono en la tarjeta SIM. Aunque ahora que lo pienso, ¿qué tan común es hoy en día que su número de teléfono cambia cuando cambia de operador por ejemplo? Supongo que depende de un país a otro, etc.
- Android: ¿Utilizar una tableta para emular otros dispositivos?
- Cómo eliminar el marco del dispositivo en los emuladores de Android Studio
- Archivos de copia del emulador android en la partición del sistema
- ¿Emulador de Android versión 16.0 persistant / system / storage?
- Cómo actualizar la vista Web de Android en Emulator (Android 5)
De todos modos, he estado tratando de averiguar, ya que no tengo teléfonos Android, cómo cambiar el número de teléfono del teléfono del emulador para simular diferentes usuarios. ¿Es posible o debería pensar en formas alternativas de identificación?
- Iniciar mi aplicación en genymotion
- ¿Cómo puedo hacer que eclipse se conecte al emulador de Android manualmente?
- Instalación de un binario preinstalado en Android: "no encontrado"
- ¿Cómo puedo añadir la biblioteca a la carpeta lib de Android-Emulator?
- El emulador no funciona en Android Studio 2.0
- No es posible que el SDKcontroller de Android funcione
- Emulador no funciona en Android Studio
- Cómo utilizar un emulador diferente en Android Studio
Se supone que el android_id
identifica de forma exclusiva el dispositivo, sin embargo, se ha observado que el id se puede cambiar si sabes cómo Spoofing android_id
import android.provider.Settings.System; String android_id = System.getString(this.getContentResolver(), System.ANDROID_ID);
En el emulador, el android_id
no tiene un valor, por lo que tendrá que poner una rutina de depuración en para asignar un valor a ti mismo.
Sin embargo, si desea identificar al usuario y permitir que el usuario acceda a su servicio desde diferentes dispositivos con un identificador de usuario, es mejor asignarle una identificación de usuario y hacer que se autentiquen a su servicio utilizando este ID de usuario como credencial. Esto les permitiría usar sus id's en muchos dispositivos diferentes, a menos que lo usas en conjunto con android_id
(y el android_id
no fue falsificado), entonces podrías limitarlos a un solo dispositivo.
Debe utilizar el número presente por el emulador. P.ej. Generalmente el primer emulador que se está ejecutando tiene número 5554, segundo 5555, y así sucesivamente.
Puede utilizar estos números para realizar llamadas, enviar mensajes de texto desde el emulador al emulador. Esto, creo, simula diferentes números / usuarios para sus propósitos.
La información de la tarjeta SIM está codificada en los binarios emulador-brazo y emulador-x86. Cambiar el número de teléfono (MSISDN) se detalla al final de esta entrada de blog: nuevo enlace , archivo web
La tarjeta SIM almacena el número de teléfono con cada 2 dígitos intercambiados. Así que (el primer 7 del número de teléfono) 1555521
convierte en 515525%d1
en el binario. Mientras que un pedacito tedioso, remiendo él para cada prueba no es el extremo del mundo. También puede usar sed:
cd path/to/android-sdk-linux/tools/ cp emulator-arm emulator-arm.backup sed -i 's/515525%d1/816745%d3/g' emulator-arm
Esto cambiará el número a 1-876-543- [NÚMERO DE PUERTO]. Los detalles sobre por qué están en el blog vinculado.
- Configuración de Proguard para consulta grande
- EditText setText () establece el texto en varias vistas de EditText