Sugerencias para la solución de problemas del emulador de Surface Duo
Visite la comunidad tecnológica de Surface Duo para formular preguntas o comentar cualquier problema que tenga con el emulador o el SDK de Surface Duo.
A continuación se explican algunos problemas comunes y su resolución.
El emulador de Android 12L no se inicia
El emulador android 12L de Surface Duo más reciente requiere que Android Emulator en las herramientas del SDK sea la versión 31.3.12 o posterior (o 32.1.5 o posterior en el canal controlado).
Consulte los requisitos previos, la descarga y los pasos de instalación para obtener instrucciones detalladas sobre cómo actualizar el emulador en las herramientas del SDK.
El emulador de Android 11 no se inicia
Es posible que vea el siguiente error en la salida del terminal:
WARNING | Failed to process .ini file Surface_Duo_2_API_32.avd/config.ini for reading.
ERROR | bad config: virtual device file has no valid path.rel entry nor path entry
Este error indica una discrepancia de configuración entre el emulador de Surface Duo y el emulador en las herramientas del SDK. En Android Studio, vaya a la pestaña Herramientas > de SDK Manager > SDK Tools para ver la versión actual (y si hay actualizaciones disponibles). Si tienes la versión 31.3.12 o posterior (o 32.1.5 o posterior en el canal controlado), tendrás que actualizar un archivo INI para restaurar la compatibilidad entre el emulador de Android 11 de Surface Duo y la versión de Android SDK:
- Vaya a la ruta de acceso . \SurfaceDuoEmulator_<version>\artifacts\.android\avd\
- Edite el archivo Surface_Duo_2_API_32.ini,
- Cambie el parámetro
path.rel
aSurface_Duo_2_API_32.avd
(para emuladores antiguos, históricamente se establecióavd\Surface_Duo_2_API_32.avd
en ). - Guarde e intente iniciar el emulador.
El emulador de Android 11 no termina de arrancar
Si el emulador de Surface Duo se bloquea mostrando una pantalla negra durante el arranque, esto puede indicar que el emulador tiene problemas para cargar datos o estado desde una ejecución anterior. Para resolver este problema, cierre el emulador y vuelva a iniciarlo mediante un script de borrado para iniciar el emulador. Los scripts se encuentran en la ubicación de instalación de la imagen del emulador de Surface Duo 2.
Advertencia
Al iniciar el emulador mediante el script run_wipe se eliminarán todos los datos y las aplicaciones que haya creado o instalado en el emulador.
Si comprende y acepta borrar todos los datos de usuario, use ./run_wipe_SurfaceDuo2.bat
en Windows o ./run_wipe_SurfaceDuo2.sh
en macOS y Linux.
Una solución alternativa consiste en instalar el nuevo emulador en una ubicación de archivo diferente a la de un emulador android de Surface Duo instalado previamente. Puede elegir la ubicación de instalación como parte del proceso de instalación.
El emulador de Surface Duo no aparece en la lista de dispositivos en Android Studio o Visual Studio
El IDE no puede iniciar la versión actual del emulador de Surface Duo. En primer lugar, inicie manualmente el emulador y, una vez que esté en ejecución, debe aparecer en la lista para la implementación y la depuración:
- Windows: elija entre Inicio > Emulador de Surface Duo.
- Mac: empiece desde la línea de comandos con
./run_SurfaceDuo2.sh
(o./run_vs_SurfaceDuo2.sh
para Visual Studio para Mac).
Una vez que haya iniciado el emulador de Surface Duo, debería aparecer en la lista de dispositivos como Dispositivo virtual.
El emulador de Surface Duo no aparece en el Administrador de dispositivos virtuales Android (AVD).
La versión actual del emulador de Surface Duo no se puede administrar en AVD Manager. En su lugar, debe instalarse desde nuestra página de descarga e iniciarse manualmente:
- Windows: elige iniciar > emulador de Surface Duo o los iconos de escritorio si están disponibles.
- Mac: empiece desde la línea de comandos con
./run_SurfaceDuo2.sh
(o./run_vs_SurfaceDuo2.sh
para Visual Studio para Mac).
Las aplicaciones no se abren en ambas pantallas.
De forma predeterminada, las aplicaciones solo se abrirán en una sola pantalla. Después, el usuario puede elegir abarcar la aplicación en ambas pantallas arrastrando el identificador en la parte inferior de la ventana de la aplicación:
Los clientes pueden participar en las aplicaciones que se abren en ambas pantallas de forma predeterminada en Configuración. Para abarcar automáticamente las aplicaciones, ve a Características > de Surface Duo Abarca aplicaciones automáticamente y activa el conmutador. Una vez habilitada la característica, las aplicaciones individuales se pueden establecer en intervalo automático de la lista. Las aplicaciones solo se abrirán en ambas pantallas si las pantallas están vacías; de lo contrario, la aplicación solo se abrirá en la pantalla donde se activó.
Esta característica está disponible en Android 11 y versiones posteriores.
El contenido no gira con el emulador
Compruebe que la opción Girar automáticamente esté habilitada en el cajón de notificaciones o en Configuración > Pantalla > Girar automáticamente la pantalla.
Cómo "restablecer la configuración de fábrica" del emulador de Surface Duo
En la carpeta de instalación, hay archivos por lotes con borrado en el nombre de archivo. Al iniciar el emulador con uno de los scripts, se "restablece la fábrica" de forma eficaz el emulador.
- Windows: en la carpeta artifacts que se encuentra dentro de la carpeta de instalación, puede ejecutar
run_wipe_SurfaceDuo2.bat
(orun_vs_wipe_SurfaceDuo2.bat
para Visual Studio) directamente a fin de devolver la imagen del emulador de Surface Duo a su estado original. - Mac: en una ventana del terminal, vaya a la carpeta donde copió los archivos del emulador. A continuación, escriba
./run_wipe_SurfaceDuo2.sh
(o./run_vs_wipe_SurfaceDuo2.sh
para Visual Studio para Mac) a fin de devolver la imagen del emulador de Surface Duo a su estado original.
Estos archivos se instalan con la versión del emulador 2020.1014.2, publicada a mediados de octubre de 2020.
Si usa una versión anterior y no puede realizar la actualización inmediatamente
Si tiene una versión anterior, debe descargar la más reciente, o bien puede crear un archivo de script manualmente. Para empezar, copie el archivo run_clean existente (o run_vs_clean) en run_wipe (o run_vs_wipe) y modifíquelo como se muestra a continuación:
@echo off
set DIRNAME=%~dp0
if "%DIRNAME%" == "" set DIRNAME=.\
"%DIRNAME%\run.bat" -wipe-data
En el caso de los archivos de Shell en macOS y Linux:
#!/bin/sh
./run.sh -wipe-data
El archivo por lotes o de script actualizado debe encontrarse en el mismo directorio que los archivos por lotes o de script existentes que se usan para iniciar el emulador. Si va a modificar la versión de Visual Studio (con _vs en el nombre de archivo), asegúrese de que la última línea haga referencia a run_vs.bat o run_vs.sh.
El emulador de Surface Duo no se puede iniciar después de una interrupción
Cuando se interrumpe el emulador mientras está guardando una instantánea, en inicios posteriores se intentará iniciar desde un estado de instantánea dañado. O bien, a veces se produce un problema inesperado mientras se ejecuta el emulador, y los intentos de iniciarlo devuelven el error "emulator: ERROR: bad workspace: cannot find prebuilt kernel in: ../bin/prebuilts/qemu-kernel/x86_64/kernel-qemu"
.
En este caso, realice un restablecimiento de fábrica, tal como se describió anteriormente para corregir el problema y volver a iniciar el emulador.