Эмулятор Pixel 2 / Виртуальное устройство отсутствует в списке устройств диспетчера AVD

Вопрос

Можно ли создавать виртуальное устройство Pixel 2 только через Android Studio (v3.1.4), а не через avdmanager?

Что мы хотим сделать

Используйте avdmanager для автоматического создания устройства Pixel 2 (скрипт непрерывной интеграции на основе avdmanger). Нам нужно явно использовать устройство pixel 2.

проблема

проведение $ANDROID_HOME/tools/bin/avdmanager list не возвращает аппаратный профиль Pixel 2, но возвращает ошибку:

Parsing ****
Available Android Virtual Devices:
The following Android Virtual Devices could not be loaded:
    Name: Pixel_2_API_28
    Path: /home/user/.android/avd/Pixel_2_API_28.avd
   Error: Google pixel_2 no longer exists as a device
Available devices definitions:
id: 0 or "tv_1080p"
    Name: Android TV (1080p)
    OEM : Google
    Tag : android-tv

дополнительные детали

Мне пришлось выполнить следующую команду, чтобы выполнить команду avdmanager с JAVA 10.0.2 export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee', В противном случае я получаю сообщение об ошибке: " Не удалось установить android-sdk: "java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema"

3 ответа

Мне удалось найти описание Pixel 2, которое использует плагин Android Studio

com/android/sdklib/devices/nexus.xml,

этот файл находится в

$ANDROID_HOME/plugins/android/lib/sdklib.jar

но я не смог понять, как получить avdmanager загрузить тот же sdklib, который использует плагин Android Studio.

Я решил проблему с помощью AndroidSDK/cmdline-tools/latest/bin/avdmanager.

Старый AndroidSDK/toolsпапка устарела и больше не должна использоваться

Либо отредактируйте AVD"s config.ini - или измените его модель в AVD Manager,

что осталось это:

id: 17 or "pixel"
    Name: Pixel
    OEM : Google
---------
id: 18 or "pixel_c"
    Name: Pixel C
    OEM : Google
---------
id: 19 or "pixel_xl"
    Name: Pixel XL
    OEM : Google

использование Java 10 не должно иметь большого значения, в то время как определение устройства больше не доступно.

если вы действительно настаиваете на Pixel 2; Вы можете добавить определение устройства в ~/.android/devices.xml,

Другие вопросы по тегам