Эмулятор Android с root для разработчиков на Mac с Apple Silicon
Если нужно просто понять, запускается ли APK, поднимать целую IDE уже церемония. SiliconPlay — небольшое приложение для Mac перед настоящим планшетом Android: ARM64, Android 16, на Apple Silicon. Само приложение я сделал с нуля. Под капотом официальный Android Emulator. В уведомлениях о лицензиях названы этот эмулятор и части SDK, которые с ним идут.
Только Apple Silicon: M1, M2, M3, M4, M5 и новее в этой линейке, включая Pro, Max и Ultra. С Mac на Intel он не совместим. Пока я проверял его только на macOS Tahoe. Если попробуете другую macOS, напишите мне, как прошло. Мне проще услышать это, чем гадать.
Что вы на самом деле получаете
В загрузку SiliconPlay не входят эмулятор Google и образ системы Play. Первый запуск просит скачать Android и стартовать. Этот шаг принимает лицензию Android SDK на этом Mac, затем качает command-line tools от Google, эмулятор для Apple silicon, platform-tools и образ Play arm64 в папку SDK, которую вы укажете. Создаётся один альбомный планшет с именем Android 16 Tablet, и он открывается в своём окне. Планшет по умолчанию — 1920×1080, 320 dpi, альбомная ориентация, автоповорот выключен, образ Android 16 Play.
Google Play появляется, когда этот образ на месте. Это не магазин, который я вложил в приложение. На домашнем экране Android откройте Play Store и войдите. Пароль SiliconPlay не видит. Если SDK с emulator, adb и sdkmanager у вас уже есть, укажите приложению эту папку и не качайте вторую копию.
Если установка встаёт, потому что на macOS нет JDK, приложение так и пишет. /usr/bin/java на macOS — заглушка. Сообщение в приложении указывает на brew install openjdk@17, после этого шаг с пакетом запускают ещё раз.
Поставить APK и не жить в IDE
Сначала запустите экземпляр. Потом бросьте файл .apk или нажмите Command-I, чтобы импортировать APK и установить его. Split APK и архивы XAPK эта версия не ставит, так что набор только из этих форматов не встанет. Для обычной проверки «собралось, установилось, открылось» этого хватает. Держать Android Studio на переднем плане, пока вы ходите по приложению, не нужно.
Можно поставить и через adb. Файлы, скопированные так, попадают в /sdcard/SiliconPlay. Эти образы не монтируют папку компьютера как живой диск, поэтому общая папка сама внутри Android не появится.
Pro Mode выключен, пока вы его не включите. Он есть на панели инструментов, в меню View и в Settings. Когда он включён, главное окно показывает ещё железо, раскладки и диагностику. Когда выключен, на главном окне остаются Start, Stop и Create New Instance.
Root по желанию, и сначала он выключен
Root необязательный и по умолчанию выключен. Для обычного планшета с Play оставьте его выключенным. Включайте только когда нужен adb root.
У планшета с root образ Google APIs, потому что образ Play отказывается от adb root. Play Store на этом планшете нет. Образ APIs скачивается в первый раз, когда вы такой планшет создаёте. Если нужны и вход в Play, и root, это два разных планшета, а не переключатель на образе Play.
Нет расширения ядра и нет фоновой службы, которую потом пришлось бы снимать. Удалите приложение, когда оно больше не нужно. Файлы SDK остаются в той папке SDK, которую вы выбрали. Свои файлы SiliconPlay лежат в ~/Library/Application Support/SiliconPlay.
Клавиатура, если у проверяемого приложения нет клавиш
Прямое касание включено по умолчанию, и для интерфейса, который вы собрали сами, этого обычно хватает. Если прощёлкиваете игру, вторая половина — это кнопки на экране и список сочетаний.
Вопросы
Root обязателен?
Нет. Он по желанию и по умолчанию выключен. Для root берётся образ Google APIs. Образ Play не даёт adb root, и на том планшете нет Play Store.
Как установить APK?
Запустите экземпляр, потом бросьте APK или нажмите Command-I, чтобы импортировать. Можно поставить и через adb. Split APK и архивы XAPK эта версия не ставит. Копии через adb попадают в /sdcard/SiliconPlay.
Нужно ли держать Android Studio открытым?
Нет. APK можно поставить и потыкать без целой IDE на пути. Приложение само скачивает официальный эмулятор и образ Play arm64 или берёт SDK, который у вас уже есть.
Какие Mac и какая macOS?
Только Apple Silicon: M1, M2, M3, M4, M5 и новее. Mac на Intel нет. Пока проверено на macOS Tahoe.
Ещё в блоге: назначение клавиатуры и геймпада, горячие клавиши и SiliconPlay на M1–M5 и новее. Или вернитесь на страницу SiliconPlay.