Emulando densidad de 320 dpi en el emulador de Android

Estamos tratando de emular dispositivos con la nueva densidad de 320 ppp en Android 2.3, como Archos 101, y parece que no podemos definir un emulador con esa densidad, incluso después de descargar el último sdk 2.3.

Realmente aprecio algunas ideas sobre este 🙂

¡Muchas gracias!

En el administrador de AVD si elige una piel incorporada, se omite la densidad de LCD abstracta y se establecerá la densidad como se describe aquí:

Pieles Emulator (de http://developer.android.com/tools/revisions/platforms.html )

La plataforma descargable incluye los siguientes skins de emulador:

  • QVGA (240×320, baja densidad, pantalla pequeña)
  • WQVGA400 (240×400, baja densidad, pantalla normal)
  • WQVGA432 (240×432, baja densidad, pantalla normal)
  • HVGA (320×480, densidad media, pantalla normal)
  • WVGA800 (480×800, alta densidad, pantalla normal)
  • WVGA854 (480×854 de alta densidad, pantalla normal)
  • WXGA720 (1280×720, densidad extra alta, pantalla normal)
  • WSVGA (1024×600, densidad media, pantalla grande)
  • WXGA800-7in (1280×800, alta densidad, pantalla grande) nuevo
  • WXGA800 (1280×800, densidad media, pantalla xlarge)

Si desea configurar su propia densidad de LCD abstracta, deberá definir su propia resolución manualmente haciendo clic en el botón de opción Resolución.

He aquí un código que puedes usar para probar esto:

DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(metrics); int density = metrics.densityDpi; if (density == DisplayMetrics.DENSITY_HIGH) { Toast.makeText(this, "DENSITY_HIGH... Density is " + String.valueOf(density), Toast.LENGTH_LONG).show(); } else if (density == DisplayMetrics.DENSITY_MEDIUM) { Toast.makeText(this, "DENSITY_MEDIUM... Density is " + String.valueOf(density), Toast.LENGTH_LONG).show(); } else if (density == DisplayMetrics.DENSITY_LOW) { Toast.makeText(this, "DENSITY_LOW... Density is " + String.valueOf(density), Toast.LENGTH_LONG).show(); } else { Toast.makeText(this, "Density is neither HIGH, MEDIUM OR LOW. Density is " + String.valueOf(density), Toast.LENGTH_LONG).show(); } 

Siempre puede definir una densidad y una resolución personalizadas para sus dispositivos virtuales.

Si está usando Eclipse, vaya a Window - Android SDK and AVD Manager , pulse el botón New , escriba un nombre y seleccione la versión SDK, pulse la opción Resolution en la sección Skin y establezca la resolución que necesita. En la sección Hardware , edite la opción predeterminada ABstracted LCD Density a su valor deseado y pulse el botón Create AVD .

Cuando pulsa el botón Start en el Administrador de AVD, obtendrá una ventana emergente donde podrá seleccionar la Scale display to real size . Allí tienes que configurar el tamaño real de la pantalla de los dispositivos y el dpi de los monitores. Puede pulsar el signo de interrogación a la derecha de ese campo de entrada y dejar que la calculadora lo calcule para usted en función del tamaño de los monitores.

Por lo que entiendo Android categoriza el tamaño de la pantalla y la densidad por lo que creo que trata 240dpi lo mismo que 320dpi, es decir, es de alta densidad. También hay una opción siguiente que es de alta densidad extra. Encontré esta información en la referencia para desarrolladores de Android, consulte http://developer.android.com/guide/topics/fundamentals.html y la sección hacia el fondo denominada Requisitos de la aplicación de declaración. Puedo estar totalmente equivocado, pero pensé que vale la pena un grito.

Eso es bastante simple.

Modifique el atributo hw.lcd.density=320 en el archivo de configuración avd: /Users/youUserName/.android/avd/CustomDevice_API_19.avd/config.ini y reinicie su dispositivo virtual. Ya lo estoy probando, y funciona para mí!

Advertencia: Asegúrese de establecer la densidad correcta, de lo contrario recibirá un error: qemu: available lcd densities are: 120, 160, 213, 240, 280, 320, 360, 400, 420, 480, 560, 640

BTW mi versión de Android SDK Tools es 25.2.5.

  • Aplicación de Android que funciona en el emulador pero no en el dispositivo real
  • Ejecución del emulador de Android en un ordenador con procesador AMD
  • No puedo usar la cámara en el emulador de genymotion
  • Cómo cerrar el emulador de Android a través de la línea de comandos
  • Cómo adjuntar el emulador de Android a ADB?
  • ¿Cómo obtener el contenido del portapapeles en shell de adb?
  • Las asignaciones de preferencias compartidas de Android no persisten entre sesiones de emulador
  • Intel X86 emulador acelerador (instalador HAXM) VT / NX no habilitado
  • Fallo al intentar instalar APK en el emulador
  • El emulador de Genymotion muestra una pantalla negra
  • Emulador de Android: No se puede iniciar la cámara web para capturar imágenes en el emulador
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.