Я пытаюсь установить инструмент эмулятора 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
$
Вы можете установить эмулятор с помощью команды sdkmanager
, которая у вас уже есть.
Для общего эмулятора скина с API по умолчанию (без API Google) для использования с Intel Macbook на CI (также можно использовать google_atd):
Список всех образов системы, доступных для загрузки:
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, которую можно найти здесь
Вы можете посмотреть команды для установки нового эмулятора здесь. Приведенные выше команды были взяты из этой сути.