Emulator Androida z rootem dla deweloperów na Apple Silicon
Jeśli chcesz tylko zobaczyć, czy APK w ogóle rusza, całe IDE to za dużo zachodu. SiliconPlay to emulator Androida na Maca: mała aplikacja przed prawdziwym tabletem, ARM64, Android 16, na Apple Silicon. Napisałem ją od zera. Pod spodem działa oficjalny Android Emulator. Informacje o licencjach wymieniają ten emulator i części SDK, które z nim idą.
Tylko Apple Silicon, od M1 do M5 i nowsze układy z tej linii, w tym Pro, Max i Ultra. Nie jest zgodny z Makami z układem Intel. Testowałem tylko na macOS Tahoe. Jeśli sprawdzisz inną wersję macOS, napisz mi, jak poszło. Wolę to usłyszeć, niż zgadywać.
Co naprawdę dostajesz
SiliconPlay nie wkłada emulatora Google ani obrazu systemu do pliku do pobrania. Pierwsze uruchomienie prosi, żeby pobrać Androida i wystartować. Ten krok przyjmuje licencję Android SDK na tym Macu, a potem pobiera command-line tools Google, emulator na Apple Silicon, platform-tools i obraz systemu Play arm64 do folderu SDK, który sam wskażesz. Powstaje jeden tablet w poziomie o nazwie Android 16 Tablet i otwiera się we własnym oknie. Tablet ma 1920×1080 przy 320 dpi, orientację poziomą, autoobracanie wyłączone, na obrazie Play Androida 16.
Google Play pojawia się, gdy ten obraz już leży. To nie sklep, który dołożyłem do aplikacji. Na ekranie głównym Androida otwierasz Sklep Play i logujesz się. Tego hasła SiliconPlay nigdy nie widzi. Jeśli masz już SDK z emulator, adb i sdkmanager, możesz wskazać aplikacji ten folder zamiast pobierać drugą kopię.
Gdy konfiguracja staje, bo w macOS nie ma JDK, aplikacja tak mówi. /usr/bin/java w macOS to tylko zaślepka. Komunikat w aplikacji wskazuje brew install openjdk@17, a potem powtarzasz krok pakietów.
Zainstalować APK bez mieszkania w IDE
Najpierw uruchom instancję. Potem upuść plik .apk albo naciśnij Command-I, żeby zaimportować APK i je zainstalować. Podzielonych APK i archiwów XAPK ta wersja nie instaluje, więc paczka złożona tylko z tych formatów nie wejdzie. To wystarcza do zwykłego sprawdzenia, czy build się instaluje i otwiera. Nie musisz trzymać otwartego Android Studio, gdy przeklikujesz aplikację.
Instalować można też przez adb. Pliki kopiowane w ten sposób trafiają do /sdcard/SiliconPlay. Te obrazy nie montują folderu Maca jako dysku, więc wspólny katalog nie pojawi się w Androidzie sam.
Pro Mode jest wyłączony, dopóki go nie włączysz. Jest na pasku, w menu View i w Settings. Włączony pokazuje w głównym oknie także sprzęt, keymaps i diagnostykę. Wyłączony zostawia w głównym oknie Start, Stop i Create New Instance.
Root jest opcjonalny i startuje wyłączony
Root jest opcjonalny i na starcie wyłączony. Na zwykłym tablecie Play zostaw go wyłączonego. Włączaj tylko wtedy, gdy potrzebujesz adb root.
Tablet z rootem używa obrazu Google APIs, bo obraz Play odmawia adb root. Sklepu Play na tym tablecie nie ma. Obraz APIs pobiera się przy pierwszym tworzeniu takiego tabletu. Jeśli potrzebujesz i logowania do Play, i roota, to dwa różne tablety, a nie przełącznik na obrazie Play.
Nie ma rozszerzenia jądra ani usługi w tle, którą trzeba by później usuwać. Gdy skończysz, usuń aplikację. Pliki SDK zostają w folderze SDK, który wybrałeś. Własne pliki SiliconPlay leżą w ~/Library/Application Support/SiliconPlay.
Klawiatura, gdy testowana aplikacja nie ma klawiszy
Bezpośredni dotyk jest domyślny i zwykle tego chcesz przy interfejsie, który sam zbudowałeś. Gdy przeklikujesz grę, mapa na ekranie i skróty klawiszowe są drugą połową.
Pytania
Czy root jest wymagany?
Nie. Jest opcjonalny i na starcie wyłączony. Root używa obrazu Google APIs. Obraz Play odmawia adb root, a na tym tablecie nie ma Sklepu Play.
Jak zainstalować APK?
Uruchom instancję, potem upuść APK albo naciśnij Command-I, żeby je zaimportować. Można też instalować przez adb. Podzielonych APK i archiwów XAPK ta wersja nie instaluje. Kopie przez adb trafiają do /sdcard/SiliconPlay.
Czy Android Studio musi być otwarte?
Nie. Instalujesz APK i sprawdzasz je bez całego IDE na drodze. Aplikacja pobiera oficjalny emulator i obraz Play arm64 albo używa SDK, które już masz.
Jakie Maki i jaki macOS?
Tylko Apple Silicon: M1, M2, M3, M4, M5 i nowsze, także Pro, Max i Ultra. Nie Maki z Intelem. Testowałem tylko na macOS Tahoe.
Więcej na blogu: mapowanie klawiatury i kontrolera, skróty klawiszowe i SiliconPlay na M1 do M5 i nowszych. Albo wróć na stronę główną SiliconPlay.