Чи змогли б додатки Android запускатись в Ubuntu на дотик?


28

Мені цікаво, чому додатки для Android не зможуть запускатися на Ubuntu Touch . Я маю на увазі, чи не все це просто Linux?


1
Середовище робочого столу є важливим фактором сумісності програми.
Патрік К. Джеймс

8
Це насправді досить гарне питання. Нубі справді, але дуже дійсно. Майте нагороду.
don.joey

Я погоджуюся з @ don.joey, оскільки це не щось легко досліджується поза висновком "так" або "ні".
MGodby

Була якась цікава дискусія щодо останньої трансляції ubuntu, яка висвітлювала більшу частину цієї теми: youtube.com/watch?feature=player_embedded&v=etMduYRRwDc 25:00 27:10 52:45 54:47 55:20 <позначки часу на деяких відповідних очки
Матео

Хіба це також не те, що вони, ймовірно, мають різні процесори?
Кевін Феган

Відповіді:


24

Коротка відповідь - «ні».

Власне кажучи, ядро ​​Linux забезпечує трохи більше, ніж прямий інтерфейс до апаратного забезпечення, на якому він працює. Є цілий пакет додаткових API-програм, програм, додатків для Android-телефонів, від яких залежать додатки Android. Крім того, Android не працює на загальному Linux-ядрі, а натомість працює на тій, яка була спеціально налаштована Google з конкретною метою роботи ОС.

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


3
Правильно - набір бібліотек телефонів на робочому столі, який у 10 разів потужніший, вкрай неефективний ? Ми працюємо емуляторами мобільних телефонів на настільних комп'ютерах уже десяток років.
MSalters

3
Я відповів за умови, що запитувач мав на увазі рідне, тобто без емуляторів чи віртуалізації.
MGodby

5
@MSalters Емулятор використовує більше ресурсів для отримання того ж виходу порівняно з рідною програмою. Це в значній мірі визначення неефективності. А емулятори Android особливо повільні, на мій досвід.
jmathew

1
@jmathew З точки зору розробника (принаймні, моя) одна перевага для цього полягає в тому, якщо додаток працює досить добре в емуляторі на повільній машині, то воно буде працювати досить добре на купи недорогих торгових телефонів там.
zxq9

2
@jmathew Я думаю, що MSalters намагався сказати, що коли вже декілька років було практично використовувати емулятор, то немає ніякого способу, щоб запускати одне і те ж саме вроджене може бути неефективним.
kasperd

1

Nokia n900 працює з maemo witch - це Linux OS, але вона може запускати додаток для Android через оточення дальвіка, яке було розроблено для цього, але ніколи не виставлялося на ринок або репрізиторії. Чому? Знає лише суспільство, яке розробляло дальвік за n900 рік. Тепер був ще один ініціативний виклик apkenv. Здається, що не так багато потрібно додати, щоб зробити n900 запуск деяких андроїд-ігор, і незалежно від потужності gpu чи процесора чи робочого столу maemo програми працюють там, як у будь-якій емуляції, але деякі працюють ідеально, а деякі ні. Тож щодо ubuntu touch це не питання техніки (можливо, я помиляюся, але один офіційний сенсорний телефон ubuntu - це xiaomi, який використовується для android занадто, тому апаратне забезпечення не є проблемою в цьому випадку), але буде і закон, якщо Google не виграв '


1

Відповідь на ваше запитання - ВЕЛИКИЙ НІ.

Android повністю відрізняється від Ubuntu Touch, хоча android базується на ядрі Linux, але це не означає, що вбудовані програми Android можуть працювати на Linux і навпаки.

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

У ОС з тим же ядром можуть бути абсолютно різні простіри користувачів, і нативні програми, які виконуються у певному просторі користувача.

Більше того, додатки для Android розробляються, як правило, за допомогою програм java та android, які виконуються у середовищі виконання ( Dalvik або ART ), яка приймає байт-код з JVM як вхідний, тоді як програми Linux прямо під час компіляції перетворюються в машинний код .

Програми, розроблені для Android з використанням C ++, не можуть бути виконані безпосередньо в середовищі Linux, а їх потрібно спершу скомпілювати для систем Linux.

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