Как да използвате Android на обикновен компютър


Xakep #240. Гидра

Xakep #239. Отворете и проучете

Xakep #238. Забравен Android

Xakep #237. Darknet 2018

Съдържанието на статията
Как да стартирате мобилни приложения на компютър? Пакетът за разработчика на Android има специален емулатор, който ви позволява да усетите мобилната операционна система. Един проблем - бави се. Направо казано много се бави. Но, за щастие, от доста време се работи по интересен проект за пренасяне на платформата Android към платформата за компютър.
android-x86
Както знаете, източниците на Android са отворени - това е политиката на Google. Следователно всеки, който желае, по принцип има възможност да вземе за основа оригиналната версия на мобилната операционна система и да започне да развива свой собствен клон. Много ентусиасти активно пускат пачове, които прилагат допълнителна функционалност, която не е в оригиналния Android.
Така се появи проектът "хостинг на корекции за android x86 поддръжка". Разработчикът планира да пусне кръпки за поддръжка на платформата x86. Но след няколко месеца работа те разбраха, че са способни на повече от просто доставяне на кръпки. Така се появи проектът Android-x86 - специална версия на мобилната ОС, която да работи на най-обикновен компютър. Android-x86, подобно на Android, има различни клонове. За тестова платформа е избран емблематичният нетбук Eee PC, но няма особено значение къде ще инсталирате проекта. Това може да бъде компютър, таблет или лаптоп (тестваните устройства включват ASUS Eee, Viewsonic Viewpad 10, Dell Inspiron Mini Duo, Samsung Q1U, Viliv S5, Lenovo ThinkPad x61 Tablet). Най-новата версия дори има Wi-Fi поддръжка.
Хакер #157. Пари за грешки в Chrome
Въпреки това, ако настройкатаAndroid на лаптоп е по-скоро шега, тогава инсталирането на виртуална машина може да донесе доста осезаеми ползи, особено за тези, които искат да опитат ръката си в разработката за Android, тъй като след инсталирането ще им бъде много по-удобно да тестват приложения (те обаче ще трябва да се примирят с някои ограничения, например липсата на емулация на акселерометър). Предлагам да преминем към практиката.
Отстраняване на грешки чрез gsdserver
Не мога да не отбележа, че Android-x86 идва с предварително инсталиран GDBserver, който може да се намери в /sbin/gdbserver. По този начин имаме способността да използваме GDB за отстраняване на грешки в приложения на отдалечена машина. За да направите това отново, трябва да повдигнете мрежата между виртуалната и хост ОС, както е показано по-горе, и да стартирате GDBserver:
Можете също да използвате опцията --attach pid, за да прикачите към процес, който вече се изпълнява. След това можем да се свържем с нашата виртуална машина от обикновена машина. Стартирайте gdb:
И се свържете с отдалечения сървър:
Инсталиране на виртуална машина
- Първо трябва да отидете на официалния уебсайт и да изберете правилното изображение. Всички изображения са LiveCD.
- След като изберете подходящ ISO (изтеглих android-x86-2.2-r2-asus_laptop.iso), можете да продължите директно към инсталацията във виртуална среда, например под безплатния VirtualBox (www.virtualbox.org). Стартирайте го и създайте нова виртуална машина със следните параметри:
В настройките на виртуалната машина трябва да регистрирате изображението на Android-x86, което изтеглихме като DVD устройство. След това виртуалната машина може да бъде стартирана. Когато виртуалната машина се зареди от LiveCD, веднага ще видите меню за избор на опции за зареждане. За да стартирате и видите операционната система, просто изберете „Изпълни Android-x86без монтаж". Тъй като се интересуваме повече от инсталирането на Android като обикновена операционна система, избираме последния елемент - "Инсталиране - Инсталиране на Android-x86 на твърд диск".

Като цяло на този етап постигнахме целта си - изтеглихме Android на обикновен компютър. За тези, които обичат да поддържат всичко актуално, ще кажа, че версия 4.0 има статус на разработка, така че може да има различни недостатъци в нея. Например по някаква причина едновременнопоказани са графичната обвивка и конзолата. Не знам дали това е грешка или функция, но работата в такава операционна система е много неудобна. Образът 3.2RC2 е добър за всичко, с изключение на това, че му липсва Ethernet поддръжка, която ми трябваше за отстраняване на грешки в приложения. Но ако целта на цялата идея е просто да си поиграете с Android, тогава можете спокойно да изберете него. Спрях се на разклонение 2.2.
Звук. След инсталиране на Android-x86 звукът много често спира да работи. Също така открих този проблем, когато отидох в Youtube, за да гледам видеоклипове. За щастие всичко се оказа не толкова ужасно и промяната на звуковата карта в настройките на виртуалната машина на "Intel HD Audio" поправи повредата. Ако едно просто решение не помогне, на официалния уебсайт има често задавани въпроси, които описват как да накарате ICH AC97 да работи под VirtualBox.
Инсталирайте приложения
Ако имате нужда само от приложения
Специално в случай, че трябва да стартирате само приложения за Android (да речем популярни играчки), е създаден до голяма степен уникален проект Bluestacks, който се разработва съвместно с AMD. Идеята не е да се емулира операционната система Android, а напълно да се пресъздаде средата на мобилната операционна система за естествено изпълнение на програмата. Какво дава? Можете да стартирате игри в режим на цял екран и те наистина няма да се забавят. Платформата ви позволява да стартирате десет приложения, които идват с нея, както и да инсталирате допълнителни. Това се прави много просто. Влизаме в папката с инсталираната програма, намираме файла HD-ApkHandler.exe и създаваме пряк път за него на работния плот. След това изтеглете приложението за Android, което ни интересува (под формата на apk пакет) и го плъзнете върху новосъздадения пряк път. Всичко, програмата е инсталирана - можете да я стартирате. Някои приложения обаче няма да се инсталират поради проблеми ссъвместимост. Някои други, като Angry Birds и Fruit Ninja, са обозначени като „премиум приложения“ от BlueStacks и могат да бъдат инсталирани само с предстоящата платена версия на програмата. Въпреки това куп други игри ще се инсталират и стартират без проблеми.
Настройки за отстраняване на грешки
И така, инсталирахме оста, поиграхме си с интерфейса на Android, инсталирахме програмите, които искахме да гледаме - време е да преминем към по-сериозни дейности. Първоначално смятах да използвам такава система като платформа за тестване на разработени приложения, така че ще ви кажа как се прави.
На първо място, трябва да настроим мрежата, а в нашия случай тя не е съвсем стандартна. Системата Android трябва да има достъп до интернет (което е задължително при писане на мрежови приложения), както и друга LAN връзка, чрез която да комуникираме с нашата виртуална машина за дебъгване на приложения. Ethernet е необходим за настройка на NAT във виртуална машина и пълноценно използване на интернет.
Така че отворете секцията "Мрежа" и конфигурирайте два адаптера там:
Необходимо е рестартиране на системата, за да продължите. По подразбиране Android x86 не може да работи с два мрежови адаптера, но това е лесно решение. Отиваме в менюто за стартиране на приложения, отиваме на „Настройки -> Configure Ethernet" и избираме "eth0 dhcp", след което отново рестартираме виртуалната машина. След като изтеглите, трябва да отидете на конзолата. Това се прави много просто, като се използва комбинацията Alt + F1 ... F6 (Alt + F7 ще ни върне към графичния интерфейс). В конзолата трябва да изпълните следните команди:
Сега, както можете да видите, имаме два интерфейса: единият за достъп до мрежата, другият за отстраняване на грешки в приложения. Остава само да конфигурирате последното.
Преки пътища забърза навигация
- Бутонът Windows съответства на бутона Home в Android;
- Esc съответства на бутона за връщане назад в Android;
- F2 съответства на бутона Меню;
- F3 съответства на бутона за търсене;
- Alt + F1 - превключване към конзолен режим;
- Alt + F7 - превключване към GUI режим.
Отстраняване на грешки в приложението
За по-нататъшни действия се нуждаем от Android SDK, който трябва да бъде изтеглен.
Тук emulator-5554 е емулаторът по подразбиране от Google, а 192.168.56.101:5555 е нашата виртуална машина.

Можете да видите по-подробна информация за помощната програма ADB и всички нейни параметри на официалния уебсайт.