Как установить эмулятор Android на macOS из CLI?

Я пытаюсь установить инструмент эмулятора Android из CLI на macOS 12.

Итак, сначала я установил openjdk.

$ brew install openjdk
==> Downloading https://ghcr.io/v2/homebrew/core/openjdk/manifests/22.0.2
####################################################################################################################################################################################### 100.0%
==> Fetching openjdk
==> Downloading https://ghcr.io/v2/homebrew/core/openjdk/blobs/sha256:84795b272691e9ee02b9a0bb9fba35552c1ae8d3b977be2468dc71e57aa4e42f
Already downloaded: /Users/sebastien/Library/Caches/Homebrew/downloads/d77dda9a4f3951018aa3f9bb83beae31f635ebac5ba939d25d7278da1345ca95--openjdk--22.0.2.monterey.bottle.tar.gz
==> Pouring openjdk--22.0.2.monterey.bottle.tar.gz
==> Caveats
For the system Java wrappers to find this JDK, symlink it with
  sudo ln -sfn /usr/local/opt/openjdk/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk.jdk

openjdk is keg-only, which means it was not symlinked into /usr/local,
because macOS provides similar software and installing this software in
parallel can cause all kinds of trouble.

If you need to have openjdk first in your PATH, run:
  echo 'export PATH = "/usr/local/opt/openjdk/bin:$PATH"' >> ~/.profile

For compilers to find openjdk you may need to set:
  export CPPFLAGS = "-I/usr/local/opt/openjdk/include"
==> Summary
🍺  /usr/local/Cellar/openjdk/22.0.2: 602 files, 330MB
Warning: HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK is set: not checking for outdated
dependents or dependents with broken linkage!

Затем я добавил openjdk в путь:

$ which java
/usr/local/opt/openjdk/bin/java
$ 

Наконец я установил android-commandlinetools :

$ brew install android-commandlinetools
==> Caveats
Default Android SDK root is /usr/local/share/android-commandlinetools

android-commandlinetools requires Java. You can install the latest version with:
  brew install --cask temurin

==> Downloading https://dl.google.com/android/repository/commandlinetools-mac-11076708_latest.zip
##################################################################################################################################### 100.0%
==> Installing Cask android-commandlinetools
==> Moving Generic Artifact 'cmdline-tools' to '/usr/local/share/android-commandlinetools/cmdline-tools/latest'
==> Linking Binary 'avdmanager' to '/usr/local/bin/avdmanager'
==> Linking Binary 'lint' to '/usr/local/bin/lint'
==> Linking Binary 'retrace' to '/usr/local/bin/retrace'
==> Linking Binary 'sdkmanager' to '/usr/local/bin/sdkmanager'
==> Linking Binary 'apkanalyzer' to '/usr/local/bin/apkanalyzer'
==> Linking Binary 'screenshot2' to '/usr/local/bin/screenshot2'
🍺  android-commandlinetools was successfully installed!
Warning: HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK is set: not checking for outdated
dependents or dependents with broken linkage!

Я ожидаю инструмент emulator, но не вижу инструмента emulator ниже:

$ brew info android-commandlinetools | grep bin/
/usr/local/share/android-commandlinetools/cmdline-tools/latest/bin/avdmanager (Binary)
/usr/local/share/android-commandlinetools/cmdline-tools/latest/bin/lint (Binary)
/usr/local/share/android-commandlinetools/cmdline-tools/latest/bin/retrace (Binary)
/usr/local/share/android-commandlinetools/cmdline-tools/latest/bin/sdkmanager (Binary)
/usr/local/share/android-commandlinetools/cmdline-tools/latest/bin/apkanalyzer (Binary)
/usr/local/share/android-commandlinetools/cmdline-tools/latest/bin/screenshot2 (Binary)
$ 

EDIT0: Благодаря @gtxtreme мне наконец удалось установить инструмент Android emulator с помощью этих команд:

$ sdkmanager --list | grep emulator
  emulator | 34.2.16 | Android Emulator | emulator
  emulator                                                                                 | 34.2.16           | Android Emulator
$ yes | sdkmanager --licenses > /dev/null
$ sdkmanager --install emulator
[=======================================] 100% Unzipping... emulator/._NOTICE.tx

$ which emulator
$ export ANDROID_SDK_ROOT=/usr/local/share/android-commandlinetools
$ PATH = "$ANDROID_SDK_ROOT/emulator:$PATH"
$ which emulator
/usr/local/share/android-commandlinetools/emulator/emulator
$ 
1
0
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете установить эмулятор с помощью команды sdkmanager, которая у вас уже есть.

  1. Для общего эмулятора скина с API по умолчанию (без API Google) для использования с Intel Macbook на CI (также можно использовать google_atd):

  2. Список всех образов системы, доступных для загрузки:

sdkmanager --list | grep system-images

Скачать изображение: sdkmanager --install "system-images;android-30;aosp_atd;x86"

Создать эмулятор:

echo "no" | avdmanager --verbose create avd --force --name "generic_api30_aosp_atd_emulator" --package "system-images;android-30;aosp_atd;x86" --tag "aosp_atd" --abi "x86"

Затем вы можете запустить эмулятор, используя документацию CLI, которую можно найти здесь

Вы можете посмотреть команды для установки нового эмулятора здесь. Приведенные выше команды были взяты из этой сути.

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