Запустите сервер NodeJs в Android

Можно ли запустить сервер NodeJs на устройстве Android (например, на устройствах Linux, а не в приложениях Android).

Если возможно, пожалуйста, помогите мне это сделать.

И можно ли запустить сервер mongo на устройстве Android?

Мои устройства:

  • Телевизионная приставка RK3288 (андроид 4)
  • Asus fonepad 7 (корень Android 5)
  • LG Optimus G (корень Android 4)

Важный!! Я хочу запустить серверное приложение в Android. потому что у меня есть неиспользуемый Android TV-Box, и я хочу использовать его на своем домашнем сервере

И я не хочу использовать его в файлах APK (для загрузки html-файлов в WebView). Мне нужен сервер nodejs, а не клиент javascript с CommonJs и RequireJs


person Hossain Khademian    schedule 29.06.2015    source источник
comment
возможный дубликат Как запустить мой проект node.js на Android?   -  person Jaseem Abbas    schedule 29.06.2015
comment
Нет, я хочу запустить серверное приложение в Android. потому что у меня есть неиспользуемый Android TV-Box, и я хочу использовать его на своем домашнем сервере.   -  person Hossain Khademian    schedule 29.06.2015
comment
И я не хочу использовать его в файлах APK (для загрузки html-файлов в WebView). Мне нужен сервер nodejs, а не клиент javascript с CommonJs и RequireJs   -  person Hossain Khademian    schedule 29.06.2015
comment
Я думаю, что это может быть очень удобно для целей тестирования, если ваше приложение зависит от API, и вы хотели бы установить макет API на самом устройстве.   -  person Timo    schedule 13.10.2015
comment
Да, можно без рута и без html + webview. См.: возможные варианты запуска NodeJS на Android (август 2017 г.)   -  person Arnold Schrijver    schedule 12.08.2017
comment
medium.freecodecamp.org/ на сегодняшний день это лучший вариант imo   -  person pungggi    schedule 24.03.2019


Ответы (3)


Возможно, вы захотите установить chrooted-linux на свое устройство Android, как описано здесь.

Короче делай так:

  1. prepare linux-image
    1. do this on any gnu+linux -device.
    2. создать большой файл (> 1 ГБ)
    3. отформатируйте его как файловую систему (например, ext2)
    4. установить его.
    5. скопировать дистрибутив внутри него (например, с помощью debootstrap)
  2. скопировать loopdevice на андроид
  3. mount it (root required)
    1. maybe install busybox
    2. прикрепите к хосту некоторые каталоги с корневого устройства (обычно dev, dev/pts, proc и sys )
  4. chroot
  5. установить nodejs внутри chroot

примечание: я сделал что-то похожее на свой tf301, и это работает как шарм. Но когда я начинаю использовать слишком много памяти внутри chroot (например, при компиляции приложения для Android), хост падает. У меня еще не было таких сбоев с узлом, и я не знаю, влияет ли это на другие устройства.

person wotanii    schedule 16.12.2015


J2V8 - лучшее решение вашей проблемы. Он запускает приложение Nodejs на jvm (java и android).

J2V8 — это Java Bindings для V8, но интеграция Node.js доступна в J2V8 (версия 4.4.0)

Github: https://github.com/eclipsesource/J2V8

Пример: http://eclipsesource.com/blogs/2016/07/20/running-node-js-on-the-jvm/

person pathik devani    schedule 17.08.2017