Чи можна запускати програми Android на (звичайному) Linux?


17

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

Чи існує щось подібне чи це можливо?

(Я не маю на увазі емулятор, який постачається разом із SDK.)


2
Android Player для BlackBerry Playbook близький, хоча, звичайно, він працює на QNX, а не на Linux.
Матвій

Відповіді:


2

За роки, коли це було розміщено, речі дещо змінилися.

Зараз існує декілька (хоча жоден із них ще не ідеальний) способів запустити програми Android на Linux без емулятора чи VM.

  1. Shashlik має досить гарну інтеграцію з робочим середовищем GNU. Не вистачає служб Google Play.
  2. ARChon використовує Google Chrome і дозволяє встановлювати додатки для Android так, ніби вони були додатками для Chrome. Це досить акуратно, хоча і тут сумісність не є ідеальною .
  3. Нарешті, Google офіційно приноситьPlay Store для ОС Chrome. Оскільки це офіційний проект, розроблений Google, я вважаю, що він повинен мати найкращу сумісність партії. Chrome OS - це дистрибутив Linux, заснований на Gentoo. Основна частина його вихідного коду стає доступною завдяки проекту Chromium OS. Цей вихідний код є доступним, але це не повинно бути надто важким для перенесення сумісності з популярними дистрибутивами GNU / Linux Google є відносно доброзичливим до відкритого коду (принаймні, порівняно з Apple / Microsoft), і я не думаю, що вони будуть кидати якісь дорожні пробки для такого перенесення. Якщо що-небудь, вони здаються захопленими в Play Store, вражаючи якомога більше пристроїв. Вони навіть можуть вбудувати цю функціональність у майбутні версії Google Chrome для Linux або випустити окремий пакет. Вони випускають більшу частину вихідного коду для ОС Android та Chrome,

До речі, немає потреби збирати APK окремо для x86. Програми, які ви пишете, компілюються у код Dalvik Executable (DEX), який, нарешті, перетворюється на код складання (відповідно до необхідної архітектури) ядром для надсилання процесору. (Ця остання частина взята з цієї відповіді. )


12

Нічого подібного ще не існує, оскільки додатки не запускаються в ОС вперше, але вони використовують віртуальну машину Dalvik ( Вікіпедія ). Це дещо порівняно з Java в тому сенсі, що він використовує байт-код і створює окреме середовище для кожного додатка. Тому, якщо середовище Dalvik не переноситься на інші платформи, вони не можуть працювати на звичайному обладнання.

Існує проект під назвою Alien Dalvik від Myriad, який намагається запускати програми Android у різних середовищах, але інформації про нього не так багато. Міріад Чужий Дальвік


1

Все змінилося знову з моменту публікації Revetahw.

Шашлик, здається, неактивний проект, але Anbox, здається, набирає позиції. Перевага Anbox полягає в тому, що він не імітує ядро ​​Android, а використовує функції ядра Linux для спільного використання ядра між вашою системою Linux та системою Android.

Крім того, Chrome OS тепер має стабільну підтримку додатків для Android на кількох пристроях, але, на жаль, ця інтеграція є закритим кодом, не плануючи відкриття цього анонсованого коду.


0

Я не знаю, чи є проекти такого роду. Напевно, найближчим часом є проекти android-x86, що є портом андроїдного середовища на робочих станціях на робочому столі: http://www.android-x86.org/


1
Це не імітує середовище Android на робочих станціях настільних ПК, це порт Android для звичайних ПК.
Ендрю Дж. Брем

Звичайно, моя рецептура була не дуже підходящою. Виправлено, THX.
Юрі
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.