Mateusz Mazurek – programista z pasją

Python, architektura, ciekawostki ze świata IT

Inne

Wolny emulator Androida w Android SDK

Cześć! Cieszę się, że mnie odwiedziłeś/aś. Zanim przejdziesz do artykułu chciałbym zwrocić Ci uwagę na to, że ten artykuł był pisany kilka lat temu (2014-03-13) miej więc proszę na uwadzę że rozwiązania i przemyślenia które tu znajdziesz nie muszą być aktualne. Niemniej jednak zachęcam do przeczytania.

Cześć.
Zetknąłem się ostatnio z mało przyjemnym problemem, otóż mój komputer po prostu okazał się za słaby na emulator androida, który jest dostarczony wraz z ADT.
Mój sprzęt to dwurdzeniowy procesor 1,8 GHz i 2GB pamięci – emulator uruchamia się około 10 minut (na architekturze x86) ewentualnie nie uruchamia się w ogóle. I oczywiście piszę o tych urządzeniach z dołu listy.

Problem jest o tyle spory, że zostałem zmuszony do napisania kilku programów pod Androida i środowisko do testowania muszę mieć.
Mały research pokazał mi że mogę uzyskać takie środowisko, a ponad to, może działać ono zdecydowanie szybciej.

Odpowiedzią jest zainstalowanie Androida samemu. Ale wersji „sportowanej” na architekturę x86 – dzięki czemu procesor nie będzie się pocił podczas translacji poleceń, jak to bywa w przypadku Emulatora z ADT.

Ok, pierwszym krokiem będzie ściągnięcie VirtualBoxa – google pomoże Ci to zrobić. Następnie potrzebny nam jest obraz odpowiednio spreparowanego Androida, znajdziemy go tutaj – Link do Download’u. Na tej stronie też wybieramy jaką wersję Androida chcemy mieć – ja używam Android-x86-4.4.

Gdy już mamy obraz na dysku, uruchamiamy VirtualBoxa i klikamy na przycisk New po lewej stronie ekranu.

Type: Linux
Version: Other Linux (32 bit)

W kolejnych krokach kreatora przydzielamy mu minimum 512 MB pamięci.
Tworzymy dysk o sugerowany przez kreatora rozmiarze.

Gdy skończymy tworzyć maszynę, klikamy prawym na nią i wchodzimy w Settings. Tam przechodzimy do Storage, klikamy na ikonkę z płytą CD. Klikamy drugą (po prawej stronie) płytkę CD i wskazujemy obraz Androida.

Clipboard02

No i potem uruchamiamy wirtualną maszynę. Pojawi się okno, które przeprowadzi z nami instalację:
Clipboard01

Teraz będziesz poproszony o stworzenie nowej partycji:
create-partitions-for-android

Następnie tworzymy partycję, oto kroki:

android-new-partition

android-primary-partition

write-partitions-to-disk

Po kliknięciu Write, będziesz musiał potwierdzić swój wybór. Gdy to zrobiłeś, naciśnij Quit, co pozwoli Ci powrócić do okna wyboru dysku:
install-android-to-partition

Na następna dwa pytania odpowiadamy twierdząco – i zaczyna się proces instalacji – czekamy ;) Gdy się skończy, instalator spyta Cię, czy chcesz uruchomić Androida czy może zrestartować maszynę. Ty ją wyłącz „iksem” w prawym, górnym rogu.

Przejdź do Settings->Storage i odmontuj dysk CD. Potem uruchom Androida :) i koniec! Powinien Ci się uruchomić android – poprosić o wybranie języka itp. Gdy będzie szukał sieci, naciśnij „Skip”.

Gratuluję, zainstalowałeś androida :)

Teraz żeby połączyć się z Eclipse’a do tej maszyny wirtualnej musisz ją pierw wyłączyć i potem ustawić w Settings -> Attached to: Host only Adapter.

Uruchom ponownie Androida – gdy się uruchomi, naciśnij kombinację klawiszy lewy alt + F1, co pozwoli Ci wejść do konsoli i tam wpisz netcfg i enter. Zobacz i zapisz sobie adres IP jaki dostałeś przy interfejsie eth0 :)

Możesz powrócić do trybu graficznego poprzez alt + F7 ;)

Nie wyłączając Androida, proszę uruchom Eclipse’a. Uruchom CMD i przejdź w nim do folderu TwojeADT\sdk\platform-tools i w tym folderze wpisz

1
adb.exe connect tutajAdresIPzAndroida

. Prawdopodobnie w odpowiedzi dostaniesz komunikat „connected”. Kliknij w Eclipse na swoim projekcie prawym przyciskiem przejdź do Run as -> Run Configuration i w zakładce target zaznacz „always prompt to pick device”. Następnie kliknij apply i run.

Clipboard01

Gdy klikniesz run, pojawi się coś takiego:
Clipboard01

A w zaznaczonym miejscu, powinna być maszyna wirtualna :)

Zauważ że w takiej konfiguracji, w Androidzie nie masz połączenia z Internetem.

Prawdopodobnie możesz je mieć zmieniając w Settings->Network ustawienie z Host-only Adapter na NAT ;) tylko wtedy aby połączyć się z emulatorem musisz wpisać nie

1
adb.exe connect twojeIP

ale

1
adb.exe connect localhost

Oczywiście po zmienieniu ustawienia na NAT wejdź proszę do androida do konsoli (alt+F1) i wpisz netcfg w celu sprawdzenia czy uzyskałeś poprawny adres IP.
Jeśli masz IP poprawne, masz internet ale nie możesz połączyć się z z adb.exe to spróbuj poprzez PortForwarding przekierować port 5555.

Jeśli nie masz internetu i/lub połaczenia z adb.exe – przewertuj StackOverFlow.. :)

Dzięki za wizytę,
Mateusz Mazurek

A może wolisz nowości na mail?

Subskrybuj
Powiadom o
guest

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.

2 komentarzy
Inline Feedbacks
View all comments
MarcelJ

Nie jestem pewien czy zachodzi 100% kompatybilność między kompilacjami andka na ARM i na x86. Wiem, że część oprogramowania hulającego na ARMach nie odpala się na prockach Intela (nie wiem czy ktoś jeszcze produkuje chipsety pod urządzenia z Androidem w x86). Pytanie czy (nie)działa to też w drugą stronę? Ogólnie wydaje mi się, że bez testów na systemach docelowych (czytaj na smartfonach) i tak się nie obejdzie.

A jeśli chcesz koniecznie bawić się w Andka na kompie to zobacz jeszcze BlueStacks.

Pozdrawiam
MJ