Стартирайте NodeJs сървър в Android

Възможно ли е да стартирате NodeJs сървър в устройство с Android (като устройства с linux, а не приложения за android).

Ако е възможно, моля, помогнете ми да го направя.

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

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

  • RK3288 TV Box (android 4)
  • Asus fonepad 7 (Android 5 root)
  • LG Optimus G (Android 4 root)

важно!! Искам да стартирам сървърно приложение в android. защото имам неизползван Android TV-Box и искам да го използвам в домашния си сървър

И не искам да го използвам в APK файлове (за зареждане на html файлове в WebView s). Имам нужда от 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 s). Имам нужда от 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 GB)
    3. форматирайте го като файлова система (напр. ext2)
    4. монтирайте го.
    5. копирайте дистрибуция вътре в него (напр. с debootstrap)
  2. копирайте loopdevice в android
  3. mount it (root required)
    1. maybe install busybox
    2. прикачете някои директории от основното устройство към хоста (обикновено dev, dev/pts, proc и sys)
  4. chroot
  5. инсталирайте nodejs в chroot

забележка: направих нещо подобно на моя tf301 и работи като чар. Но когато започна да използвам твърде много памет в chroot (напр. когато компилирам приложение за Android), хостът ще се срине. Все още не съм имал тези сривове с node и не знам дали други устройства са засегнати от това.

person wotanii    schedule 16.12.2015

Инсталирайте jxcore, както е обяснено тук:

Експрес на Android

Скриптът предполага, че Apache Cordova и Android SDK са инсталирани на вашата система. Ако не са, моля, вижте отделната документация как да направите това.

Включете устройство с android в USB гнездо (с активирано USB отстраняване на грешки), освен ако не искате да стартирате приложението на емулатора на Android.

Изтеглете скрипта и го запазете в празна папка. Стартирайте го с примерно име на папка като аргумент, например „експресна проба“:

$ ./install_and_run.sh "express sample"

Скриптът може да бъде намерен тук.

person wotanii    schedule 16.12.2015
comment
За съжаление JXCore вече не се поддържа. - person Arnold Schrijver; 12.08.2017
comment
tnx, но изпълнява само експресно приложение в платформата cordova (уеб браузър) - person Hossain Khademian; 26.03.2018

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