Як використовувати Android на звичайному комп’ютері

використовувати

android

Xakep #240. Ghidra

звичайному

Xakep #239. Розкрити та вивчити

звичайному

Xakep #238. Забутий Android

звичайному

Xakep #237. Даркнет 2018

ютері

Зміст статті

Як запустити мобільні програми на комп'ютері? У пакеті для розробника Android є спеціальний емулятор, що дозволяє помацати мобільну ОС. Одна проблема – він гальмує. Прямо скажемо, сильно гальмує. Але, на щастя, вже досить давно ведеться робота над цікавим проектом із портування платформи Android на платформу PC.

Android-x86

Як відомо, вихідні коди Android відкриті - така політика Google. Тому будь-який бажаючий у принципі має можливість взяти за основу вихідну версію мобільної ОС і почати розробку своєї власної гілки. Багато ентузіастів активно випускають патчі, що реалізують додатковий функціонал, якого немає в оригінальному Android.

Саме так з'явився проект "patch hosting for android x86 support". Розробник планували випускати патчі для підтримки платформи x86. Але після кількох місяців роботи вони зрозуміли, що здатні на більше, ніж просто постачати патчі. Так з'явився проект Android-x86 — спеціальна версія мобільної ОС для запуску на звичайному комп'ютері. Android-x86, як і Android, має різні гілки. Як тестова платформа обраний культовий нетбук Eee PC, але фактично не має значення, куди ти встановлюватимеш проект. Це може бути як комп'ютер, так і планшетник або ноутбук (до перевірених пристроїв відносяться ASUS Eee, Viewsonic Viewpad 10, Dell Inspiron Mini Duo, Q1U Samsung, Viliv S5, Lenovo ThinkPad x61 Tablet). Останній білд навіть має підтримку Wi-Fi.

Хакер #157. Гроші на багах у Chrome

Втім, якщо установкаAndroid на ноутбук - це, швидше, пустощі, то установка на віртуальну машину може принести цілком відчутну користь, особливо тим, хто хоче спробувати свої сили в розробці під Android, так як після встановлення їм буде набагато зручніше тестувати програми (правда, доведеться миритися з деякими обмеженнями, наприклад, з відсутністю емуляції акселерометра). Пропоную перейти до практики.

Налагодження через gsdserver

Не можу не відзначити, що Android-x86 пропонується із встановленим GDBserver'ом, який можна знайти в /sbin/gdbserver. Таким чином, ми маємо можливість використовувати GDB для налагодження додатків на віддаленій машині. Для цього, знову ж таки, необхідно підняти мережу між віртуальною та хостовою ОС як показано вище і запустити GDBserver:

Можна також скористатися опцією «attach pid», щоб приєднатися до процесу, який вже запущено. Далі ми можемо підключатися до нашої віртуалки зі звичайної машини. Запускаємо GDB:

І підключаємося до віддаленого сервера:

Встановлення на віртуалку

  1. Насамперед варто піти на офіційний сайт і вибрати відповідний образ. Всі образи є LiveCD.
  2. Вибравши відповідний ісошник (я завантажив android-x86-2.2-r2-asus_laptop.iso), можна приступати безпосередньо до встановлення під віртуальним оточенням, наприклад, під безкоштовним VirtualBox (www.virtualbox.org). Запускаємо його та створюємо нову віртуальну машину з наступними параметрами:

У налаштуваннях віртуальної машини потрібно прописати завантажений нами образ Android-x86 як DVD-привод. Після цього віртуалку можна запускати. Коли віртуальна машина завантажиться з LiveCD, ти бачиш меню для вибору варіантів завантаження. Щоб просто запустити та подивитися ОС, достатньо вибрати «Run Android-x86безвикористання». Оскільки нас більше цікавить установка Android як звичайна ОС, вибираємо останній пункт - "Installation - Install Android-x86 to harddisk".

android
Створюємо розділ для встановлення Android-x86
  • Після цього з'явиться меню, яке пропонує вибрати розділ для встановлення системи. Оскільки розділів у нас ще немає, вибираємо пункт Create/Modidy partitions, в результаті чого запуститься звичайний cfdisk. Створюємо новий розділ (первинний), виділяючи під нього весь вільний простір і ставимо розділу прапор Bootable. Після цього із системної утиліти можна вийти, не забувши записати зміни.
  • Тепер можна вибрати створений розділ для встановлення операційної системи. Вказуємо тип файлової системи - ext3, встановлюємо завантажувач GRUB і робимо директорію /system доступною для читання/запису. Потім можна або завантажитись в Android, або створити фейкову SD-карту, що теж робиться досить просто. Все, що для цього від нас вимагається, - вказати обсяг карти, що створюється.
  • На цьому встановлення завершено. Вимикаємо віртуалку, прибираємо в її налаштуваннях примонтований ісошник Android-x86 (щоб вантажитися безпосередньо з жорсткого диска) і запускаємо заново. Система запропонує два варіанти завантаження: звичайний та debug. Вибираємо перший із них і отримуємо завантажену під віртуалкою Android-систему. Якщо в тебе раптом не запрацює мишка, зайди в меню «Машина» і оберіть пункт «Вимкнути інтеграцію миші» (те саме можна зробити натисканням Right Ctrl + I).
  • Загалом, на цьому етапі ми досягли поставленої мети - завантажили Android на звичайному комп'ютері. Для тих, хто любить ставити все останнє, скажу, що версія 4.0 має статус devel, так що в ній можуть бути різні недоробки. Наприклад, чомусь одночаснопоказуються графічна оболонка та консоль. Не знаю, чи баг це чи фіча, але працювати в такій ОС дуже незручно. Образ 3.2RC2 хороший всім, крім того, що в ньому відсутня підтримка Ethernet, яка мені була потрібна для налагодження додатків. Але якщо мета всієї витівки просто погратися з Android, то сміливо можеш вибирати його. Я ж зупинився на гілці 2.2.

    Звук. Після встановлення Android-x86 звук часто перестає працювати. Я теж виявив цю проблему, коли зайшов на YouTube подивитися ролики. На щастя, все виявилося не так страшно, і заміна звукової карти в налаштуваннях віртуальної машини на Intel HD Audio дозволила усунути збій. Якщо просте рішення не допомагає, на офіційному сайті викладено FAQ, де описано, як змусити працювати ICH AC97 під VirtualBox.

    Інсталім програми

    Якщо потрібні лише програми

    Спеціально на той випадок, якщо потрібно запустити лише Android-програми (скажімо, популярні іграшки), створений багато в чому унікальний проект Bluestacks, розробка якого ведеться спільно з компанією AMD. Ідея в тому, щоб не емулювати ОС Android, а відтворити оточення мобільної ОС для нативного виконання програм. Що дає? Ти можеш запускати ігри у повноекранному режимі, і вони реально не гальмуватимуть. Платформа дозволяє запускати десять програм, які йдуть у комплекті з нею, а також встановлювати додаткові. Це дуже просто. Заходимо до папки із встановленою програмою, знаходимо файл HD-ApkHandler.exe і створюємо для нього ярлик на робочому столі. Далі скачуємо цікавий для нас додаток для Android (у вигляді apk-пакета) і перетягуємо його на щойно створений ярлик. Все, програма встановлена ​​- її можна запускати. Деякі програми, щоправда, не встановляться через проблеми зсумісністю. Деякі інші, наприклад Angry Birds і Fruit Ninja, позначені компанією BlueStacks як «преміум-додатки», які можна буде встановити лише за умови використання платної версії програми. Однак купа інших ігор встановиться та запуститься без проблем.

    Налаштування для налагодження

    Отже, ми встановили вісь, погралися з інтерфейсом Android, встановили програми, які хотіли подивитися, - час переходити до серйозніших занять. Я спочатку збирався використовувати таку систему як платформу для тестування програм, що розробляються, тому розповім, як це робиться.

    Насамперед нам знадобиться налаштувати мережу, причому в нашому випадку вона не зовсім стандартна. Android-система повинна мати доступ в інтернет (що просто необхідно при написанні мережних додатків), а також ще одне підключення до локальної мережі, через яке ми могли б зв'язатися з нашою віртуальною машиною для налагодження програм. Ethernet потрібен, щоб налаштувати NAT у віртуальній машині та повноцінно користуватися інтернетом.

    Отже, відкриваємо розділ «Мережа» і налаштовуємо там два адаптери:

    Для продовження потрібно ребутувати систему. За промовчанням Android x86 не може працювати з двома адаптерами мережі, але це легко виправити. Йдемо в меню для запуску програм, переходимо до «Settings -> Configure Ethernet» та вибираємо «eth0 dhcp», після чого знову перезавантажуємо віртуалку. Після завантаження потрібно перейти в консоль. Робиться це дуже просто, за допомогою комбінації Alt+F1…F6 (Alt+F7 поверне нас у графічний інтерфейс). У консолі необхідно виконати такі команди:

    Тепер, як ти бачиш, у нас піднято два інтерфейси: один для виходу в мережу, інший для налагодження програм. Залишається лише налаштувати останню.

    Shortcut'и дляшвидкої навігації

    • Кнопка Windows відповідає кнопці Home в Android;
    • Esc відповідає кнопці "Назад" в Android;
    • F2 відповідає кнопці Menu;
    • F3 відповідає кнопці пошуку;
    • Alt + F1 - перемикання в консольний режим;
    • Alt + F7 — переключення в режим GUI.

    Налагодження програм

    Для подальших дій нам знадобиться Android SDK, який доведеться завантажити.

    Тут emulator-5554 – дефолтний емулятор від Google, а 192.168.56.101:5555 – наша віртуальна машина.

  • З цього моменту наш емулятор доступний з Eclipse, і його можна використовувати для тестування програм, що нам потрібно.
  • використовувати
    Встановлення програм за допомогою AndAppStore

    Більш детальну інформацію про утиліту ADB та всі її параметри ти можеш подивитися на офіційному сайті.

    Висновок