Можно ли запускать приложения для Linux в Android? - PullRequest
46 голосов
/ 28 октября 2009

Android основан на Linux; можно ли запускать собственные приложения Linux на Android?

Ответы [ 14 ]

34 голосов
/ 28 октября 2009

В общем, нет. Приложения Android обычно запускаются в изолированной Java-подобной виртуальной машине, поэтому должны быть написаны на Java или на другом языке, который компилируется в байт-код виртуальной машины, использующий API Android.

Однако виртуальная машина работает поверх основной операционной системы Linux, и есть способы вызвать собственный код. Смотри https://developer.android.com/tools/sdk/ndk/index.html

Таким образом, хотя технически возможно запускать нативные программы для Linux, поскольку ядро ​​Linux работает под всем, большинство пользователей не смогут устанавливать такие приложения или использовать их. (Если у вас есть root-доступ или вы создаете собственную прошивку, вы можете делать все, что захотите.)

24 голосов
/ 20 ноября 2012

Да, вы можете. Я установил полный дистрибутив Debian в среде chroot-jail, используя debootstrap. (Вам нужно рутованное устройство) Теперь я запускаю ssh, apache, mysql, php и даже сервер samba под android на моем htc-desire без проблем. Можно запускать приложения x, используя удаленный сервер x через ssh. Он даже запускает openoffice.org и firefox. Вы можете использовать это: http://code.google.com/p/android-xserver/ для запуска X-приложения на локальном хосте, но у моего HTC-desire есть небольшой экран для продуктивной работы :-) Но это может быть полезно на Eee Pad Transformer или что-то в этом роде.

23 голосов
/ 28 октября 2009

Android не поддерживает X Windows и не имеет многих стандартных библиотек GNU. Таким образом, поскольку большинству нативных приложений Linux требуется одно или оба из них, большинство не будет работать.

Кроме того, даже программы на Java могут быть ограничены, поскольку версия Java, на которой написаны приложения Android, является подмножеством стандартной библиотеки Java.

17 голосов
/ 28 октября 2009

Не напрямую, нет. Бионическая библиотека времени выполнения Android C не двоично совместима с GNU libc, которую использует большинство дистрибутивов Linux.

Вы всегда можете попробовать перекомпилировать свои двоичные файлы для Android и молиться.

8 голосов
/ 23 января 2011

да, вы можете; -)

самый простой способ это использовать -> http://www.androidfanatic.com/community-forums.html?func=view&catid=9&id=2248

Старая ссылка мертва, она была для сценария установки Debian. Для этого на рынке Android есть приложение. но вам понадобится root

4 голосов
/ 01 декабря 2013

Я думаю, что эта статья может предоставить решение: Linux Today - Компиляция, установка и запуск приложений Linux на Android
Надеюсь, это поможет.

3 голосов
/ 01 ноября 2014

да, я сделал это на нескольких корневых машинах я установил Debian Linux на SDCard от дд. я копирую этот скрипт http://jeanmichel.gens.free.fr/etc/install в / system / bin

Мне пока не удается запустить Xserver, но я могу использовать двоичные файлы xwindows через приложение Android Xserver

я могу запустить обновление моего Debian с помощью обновления apt-get, запустить сервер apache с PHP, запустить сервер ssh и все двоичные файлы на терминале, включая управление пользователями у меня также проблема с обработкой семафоров пожалуйста, свяжитесь со мной, если у вас возникли проблемы

3 голосов
/ 09 января 2012

Android использует только ядро ​​Linux, это означает, что цепочка инструментов GNU, такая как gcc, не реализована в Android, поэтому если вы хотите запустить приложение Linux в Android, вам нужно перекомпилировать его с помощью цепочки инструментов Google (NDK).

3 голосов
/ 29 октября 2010

Вы можете получить кросс-компилятор ARM, который работает в Linux здесь . Вы также можете загрузить Android NDK и скомпилировать некоторые приложения командной строки. У меня нет личного опыта использования C ++ с обоими решениями, но я собрал несколько простых вещей с обоими. Насколько я понимаю, NDK не является полноценным компилятором C ++, поскольку были жалобы на то, что он не скомпилирует какой-либо общий код C ++.

Обратите внимание, что, поскольку я новый пользователь, я не могу опубликовать ссылку NDK ...: /

2 голосов
/ 02 декабря 2012

Да, они могут. Если у вас нет рутированного телефона / планшета, вы можете скачать c4droid здесь для компиляции ваших приложений. Затем вы можете скачать KBOX Кевина Буна здесь , чтобы запустить программу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...