AVD - Android Virtual Device
Dziękujemy bardzo @offsecjay za pomoc przy tworzeniu tego treści.
Co to jest
Android Studio pozwala uruchamiać wirtualne maszyny Androida, które można użyć do testowania plików APK. Aby ich użyć, będziesz potrzebować:
Narzędzia Android SDK - Pobierz tutaj.
Lub Android Studio (z narzędziami Android SDK) - Pobierz tutaj.
W systemie Windows (w moim przypadku) po zainstalowaniu Android Studio miałem zainstalowane narzędzia SDK w: C:\Users\<UserName>\AppData\Local\Android\Sdk\tools
Na Macu możesz pobrać narzędzia SDK i mieć je w ścieżce uruchomieniowej:
Lub z Android Studio GUI, jak wskazano w https://stackoverflow.com/questions/46402772/failed-to-install-android-sdk-java-lang-noclassdeffounderror-javax-xml-bind-a, które zainstalują je w ~/Library/Android/sdk/cmdline-tools/latest/bin/
oraz ~/Library/Android/sdk/platform-tools/
i ~/Library/Android/sdk/emulator/
Dla problemów związanych z Javą:
GUI
Przygotuj wirtualną maszynę
Jeśli zainstalowałeś Android Studio, możesz po prostu otworzyć widok głównego projektu i przejść do: Narzędzia --> Menedżer AVD.
Następnie kliknij Utwórz wirtualne urządzenie
wybierz telefon, który chcesz użyć i kliknij Dalej.
Jeśli potrzebujesz telefon z zainstalowanym Sklepem Play, wybierz ten z ikoną Sklepu Play!
W bieżącym widoku będziesz mógł wybrać i pobrać obraz Androida, na którym będzie działał telefon:
Wybierz go, a jeśli nie został pobrany, kliknij symbol Pobierz obok nazwy (teraz poczekaj, aż obraz zostanie pobrany).
Gdy obraz zostanie pobrany, po prostu wybierz Dalej
i Zakończ
.
Wirtualna maszyna zostanie utworzona. Teraz za każdym razem, gdy uzyskasz dostęp do menedżera AVD, będzie ona obecna.
Uruchomienie wirtualnej maszyny
Aby ją uruchomić, po prostu naciśnij Przycisk Start.
Narzędzie wiersza poleceń
Po pierwsze musisz zdecydować, który telefon chcesz użyć, aby zobaczyć listę możliwych telefonów wykonaj:
Gdy już zdecydujesz, jak nazwać urządzenie, które chcesz użyć, musisz zdecydować, który obraz Androida chcesz uruchomić na tym urządzeniu.
Możesz wymienić wszystkie opcje, używając sdkmanager
:
I pobierz (jeden lub wszystkie), które chcesz użyć za pomocą:
Gdy już pobierzesz obraz Androida, który chcesz użyć, możesz wyświetlić listę wszystkich pobranych obrazów Androida za pomocą:
W tym momencie zdecydowałeś się na urządzenie, które chcesz użyć, i pobrałeś obraz Androida, więc możesz utworzyć maszynę wirtualną, używając:
W ostatniej komendzie utworzyłem maszynę wirtualną o nazwie "AVD9" korzystając z urządzenia "Nexus 5X" i obrazu Androida "system-images;android-28;google_apis;x86_64". Teraz możesz wyświetlić listę maszyn wirtualnych, które utworzyłeś za pomocą:
Uruchom maszynę wirtualną
Już widzieliśmy, jak można wyświetlić utworzone maszyny wirtualne, ale możesz je również wyświetlić za pomocą:
Możesz po prostu uruchomić dowolną maszynę wirtualną utworzoną za pomocą:
Możesz także użyć bardziej zaawansowanych opcji, takich jak uruchomienie maszyny wirtualnej:
Opcje wiersza poleceń
Jednak istnieje wiele różnych przydatnych opcji wiersza poleceń, które można użyć do uruchomienia maszyny wirtualnej. Poniżej znajdziesz kilka interesujących opcji, ale możesz znaleźć pełną listę tutaj
Uruchamianie
-snapshot name
: Uruchomienie migawki maszyny wirtualnej-snapshot-list -snapstorage ~/.android/avd/Nexus_5X_API_23.avd/snapshots-test.img
: Wyświetl wszystkie zarejestrowane migawki
Sieć
-dns-server 192.0.2.0, 192.0.2.255
: Pozwala wskazać oddzielone przecinkami serwery DNS dla maszyny wirtualnej.-http-proxy 192.168.1.12:8080
: Pozwala wskazać serwer proxy HTTP do użycia (bardzo przydatne do przechwytywania ruchu za pomocą Burp)-port 5556
: Ustawia numer portu TCP używany do konsoli i adb.-ports 5556,5559
: Ustawia porty TCP używane do konsoli i adb.-tcpdump /path/dumpfile.cap
: Przechwytuje cały ruch w pliku
System
-selinux {disabled|permissive}
: Ustawia moduł bezpieczeństwa Linux Security-Enhanced Linux na wyłączony lub tryb permisywny w systemie operacyjnym Linux.-timezone Europe/Paris
: Ustawia strefę czasową dla urządzenia wirtualnego-screen {touch(default)|multi-touch|o-touch}
: Ustawia tryb emulowanego ekranu dotykowego.-writable-system
: Użyj tej opcji, aby mieć zapisywalny obraz systemu podczas sesji emulacji. Będziesz także musiał uruchomićadb root; adb remount
. Jest to bardzo przydatne do zainstalowania nowego certyfikatu w systemie.
Rootowanie urządzenia z Google Play
Jeśli pobrałeś urządzenie z Google Play, nie będziesz mógł uzyskać bezpośrednio uprawnień roota i otrzymasz ten komunikat błędu
Używając rootAVD z Magisk udało mi się go zrootować (zobacz na przykład ten film lub ten).
Zainstaluj certyfikat Burp
Sprawdź następną stronę, aby dowiedzieć się, jak zainstalować niestandardowy certyfikat CA:
pageInstall Burp CertificateFajne opcje AVD
Zrób migawkę
Możesz użyć interfejsu graficznego do zrobienia migawki maszyny wirtualnej w dowolnym momencie:
Last updated