Compartir a través de


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:

  1. Vaya a la ruta de acceso . \SurfaceDuoEmulator_<version>\artifacts\.android\avd\
  2. Edite el archivo Surface_Duo_2_API_32.ini,
  3. Cambie el parámetro path.rel a Surface_Duo_2_API_32.avd (para emuladores antiguos, históricamente se estableció avd\Surface_Duo_2_API_32.avden ).
  4. 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:

Tres pasos para que una aplicación abarque ambas pantallas.

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ó.

Aplicación de configuración que muestra el botón de alternancia Aplicaciones de intervalo automáticamente

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 (o run_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.