"The Grid. A digital frontier. I tried to picture clusters of information as they move through the computer. What did they look like? Ships? Motorcycles? Were the circuits like freeways? I kept dreaming of a world I thought I’d never see. And then, one day, I got in." — Tron: Legacy

2013-03-05

Android 4.0 na PC

Kolejna ściąga. Tym razem szybka konfiguracja Androida przy użyciu VirtualBox.

Jeżeli ktoś już bawił się w tworzenie aplikacji, to wie, że czas startu emulatora dołączanego do androidowego SDK może przysporzyć człowieka o kolejne siwe włosy. Potrzebowałem ostatnio na gwałt czegoś, co zastąpi mi w deweloperce tablet. Czemuż to? Otóż, po kilku reinstalacjach systemu, głównie po to by przetestować różne ROMy zaczął szwankować Bluetooth. Przez kilku tygodni, mimo kilku wycieczek ze śrubokrętem i czyszczenia elektroniki Bluetooth nie działał. Do wczoraj... Gdy zakupiłem adapter Bluetooth i znalazłem odpowiednią wersję pod maszynę wirtualną, która w miarę działa, nagle tabletowy odpowiednik ożył. Jak na złość. Ręce opadają... No nic, 20 PLN to nic takiego, a już nie wierzę, że pewnego dnia znów BT w tablecie odmówi posłuszeństwa. Wybrałem więc opcję dalszej pracy bez tabletu. 

Obr. 1. Ekran blokady.

Jedyną bezproblemowo działającą (z kilu testowanych) wersją Androida okazała się wersja 4.0 na eeepc. Dokładnie to obraz android-x86-4.0-RC2-eeepc.iso ze strony http://www.android-x86.org/download. Jako jedyny bezproblemowo obsługuje sieć i Bluetooth. Wersja 2.2 miała problemy z konfiguracją sieci, a za to dział Bluetooth. W wersji ostatniej (4.2) natomiast jest odwrotnie.


Po ściągnięciu VirtualBox należy także ściągnąć dodatkową paczkę narzędzi: VM VirtualBox Extension Pack. Należy pamiętać by wersje VirtualBox i paczki narzędziowej były takie same. 


Dla instalacji maszyny stacjonarnie, bez opcji LiveCD zarezerwowałem 1.5GB przestrzeni dyskowej, podłączyłem 2 rdzenie procesora. Jako, że moja aplikacja domyślnie działa w orientacji pionowej trzeba było też edytować kilka plików konfiguracyjnych. W Menu wyboru wybrać VESA Mode by uruchomić lub Install to disk by zainstalować na stałe. Jeżeli to drugie, to najpierw zainstalować GRUB, a pod koniec instalacji jeżeli instalator zapyta się czy zamontować /system do odczytu i zapisu potwierdzić Yes. Umniejszy to później liczbę problemów z edytowaniem plików Androida.


Po uruchomieniu wygląda to tak jak na obrazku 1.
Czasem Android wchodzi w tryb uśpienia i nie reaguje na mysz. Wtedy trzeba go obudzić wciskając prawy Ctrl+H lub z Menu opcją Machine -> Close -> Send Shutdown signal. To jest odpowiednik naciśnięcia przycisku Power na rzeczywistym urządzeniu. Jeżeli nie widać kursora myszy trzeba w Menu wybrać opcję : Machine -> Disable mouse integration.

Konfiguracja sieci 


Aby mieć dostęp do internetu z poziomu maszyny w opcjach sieci (Network) należy wybrać opcję Bridged i ustawić kartę sieciową z której łączymy się z internetem. Może to być dowolna karta sieciowa Ethernet lub WiFi. Android powinien sam znaleźć i skonfigurować połączenie. 


Konfiguracja Bluetooth

Tutaj są dwie możliwości. Pierwsza to podłączenie adaptera Bluetooth do portu PC i w opcjach maszyny wirtualnej w zakładce USB zaznaczyć Enable USB i Enable USB 2.0 EHCI Controller. Potem za pomocą zielonego '+' dodać Bluetooth. W ten sposób po starcie maszyny Bluetooth powinien być automatycznie dostępny. 

Drugi sposób to po uruchomieniu maszyny odhaczyć opcję w jej okienku z Menu -> Devices -> USB Devices ->  [tu powinna być nazwa Twojego adaptera Bluetooth]. 

Po obu zabiegach należy wejść w opcje Androida i włączyć Bluetooth. Można to zrobić myszką poprzez ściągnięcie górnej belki i kliknięcie w suwaki lub będąc na ekranie głównym nacisnąć na klawiaturze klawisz Menu (ten obok flagi Windows, gdy ktoś ma klawiaturę MS). 

Konfiguracja ekranu maszyny do wyświetlania obrazu w pionie

Ta część wymaga nieco dłubania w plikach konfiguracyjnych maszyny i samego Androida. Pierwszą rzeczą jest znaleźć katalog, w którym jest maszyna wirtualna. Najlepiej to zrobić klikając prawym na nazwę maszyny w VB i wybrać opcję Show in Explorer. Trzeba wyedytować plik *.vbox. W pliku, tuż pod linijką z <ExtraData> trzeba wkleić to:   
<ExtraDataItem name="CustomVideoMode1" value="480x800x16"/> 
Jak widać wybrałem rozdzielczość 480 w poziomie i 800 w pionie przy 16bit palecie kolorów. Szczerze, nie eksperymentowałem z tymi parametrami poza samą rozdzielczością, ale zalecają 16bit, wiec nie tykam.

Po uruchomieniu maszyny w menu wyboru trzeba nacisnąć klawisz 'e' dwukrotnie. Pajawi się możliwość edycji parametrów startowych. Tymczasowo po spacji trzeba dodać: vga=ask
Maszyna wyświetli dostępną liczbę trybów graficznych. Gdzieś tam pod koniec powinien być tryb, który wpisałem do pliku konfiguracyjnego *.vbox. Trzeba odczytać liczbę przy nim i zapisać przyda się później. Tymczasem wpisuję te liczbę i wciskam Enter i klawisz 'b'. Maszyna powinna się uruchomić, a ekran powinien przybrać postać w pionie. 

Teraz, mając już zainstalowanego Androida na dysku i przetestowany tryb graficzny można zmienić opcje uruchamiania przy rozruchu tak, by Android uruchamiał się z tymi ustawieniami automatycznie. 

W oknie z Androidem wciskamy klawisz Ctrl+Alt+F1. Pojawi się linuksowa konsola.  W konsoli po kolei wpisuję po kolei tak:

mkdir /data/fs 
mount -t ext3 /dev/block/sda1 /data/fs
vi /data/fs/grub/menu.lst

Na końcu pierwszego wiersza zaczynającego się od 'kernel' trzeba dodać vga=[numer odczytanego poprzednio trybu w trybie dziesiątkowym], np. u mnie było 360, a hex to 864, wiec vga=864 oraz opcję dpi=160. Zapisać i uruchomić ponownie. Można tez skopiować pierwszy wpis (3 linijki), by mieć dostęp do zwykłego trybu graficznego.

Konfiguracja serwera ADB

Aby mieć możliwość użycia tak zbudowanej maszyny trzeba sprawdzić jej adres IP. Polecenie konsoli Androida: 'ip a'. Wyświetli się lista urządzeń z adresami. Trzeba znaleźć ten ze swojej podsieci. W linii poleceń systemu (Linux/Windows/Mac) trzeba teraz wpisać 'adb connect [adres ip]'.  I mamy gotową maszynę pod deweloperkę z działającą siecią i Bluetooth. 

Teraz najlepiej wyłączyć maszynę i zarchiwizować cały jej katalog jako kopię awaryjną.

Brak komentarzy:

Prześlij komentarz