Так что я знаю, что это вызывает довольно много вопросов. Если быть точным, например, в этих вопросах:
- Запустите сервер NodeJs в Android
- Как запустить мой проект node.js на android?
а также - NodeJS на IOS / Android
Однако у каждого представленного варианта есть проблема:
Я хочу запустить его на своем обычном устройстве, поэтому не хочу устанавливать на свое устройство другую ОС.
Работа над JXCore была остановлена в прошлом месяце, и (возможно, в результате) мне не удалось его скомпилировать (см. Не удается установить jxcore-cordova )
- Порт Android для анода NodeJs не работал с 2014 года и в то время действительно не поддерживался.
- Второй ответ во втором потоке, на который я ссылался, упомянул, что сейчас есть официальный дистрибутив узлов для Android, но помимо ссылки на веб-сайт Browse последней версии dist. я не смог найти никакой информации о том, как его фактически использовать
- Я также видел это, но похоже, что устройство должно быть подключено к ПК (или аналогичному) для запуска команд оболочки adb, в то время как я хотел бы сделать это как отдельное приложение
Прошло время, прошедшее с тех пор, как были опубликованы эти вопросы, и как «лучший вариант» JXCore, похоже, теперь непригоден для использования:
есть ли способ запустить приложение node.js (в моем случае сервер) на устройстве Android?
Если вам интересно, почему мне это нужно: я создал WebApp с сервером Node.Js, и теперь мне нужна версия, которую вы можете запускать локально со своего телефона, не требуя подключения к Интернету. Это означает, что сервер должен работать на телефоне Android.
Ответы:
У меня просто отвисла челюсть - Termux позволяет установить NodeJS на устройство Android!
Кажется, он работает для базового теста скорости Websocket, который у меня был под рукой. Обслуживаемый им http доступен как локально, так и в сети.
Есть средний пост, объясняющий процесс установки
В основном: 1. Установите termux 2. apt install nodejs 3. установите его!
Одно ограничение, с которым я столкнулся, - похоже, что общие папки не имеют необходимых разрешений для установки модулей. Это может быть просто разрешение файла. Частное хранилище приложений работает нормально.
источник
Дори - node.js
Отличное новое приложение
Не нужно рутировать свой телефон, и вы можете запускать свой js-файл из любого места.
Инструкция по обновлению до node js 8 (async await)
Загрузите zip-файл arm node.js v8.3.0 и разархивируйте.
скопируйте 'node' на SD-карту Android (/ SDCARD или / SDCARD / путь / к / ...)
откройте оболочку (проверьте это в меню приложения)
cd /data/user/0/io.tmpage.dorynode/files/bin (или просто введите cd && cd .. && cd files / bin)
rm узел
cp / SDCard / узел.
(chmod a + x узел
( https://play.google.com/store/apps/details?id=io.tempage.dorynode&hl=en )
источник
nps serve dist
. Будет ли это работать (теоретически), и если да, то как мне поставить его на телефон в нужном месте?Вы можете использовать Node.js для мобильных приложений .
Он работает на устройствах Android и симуляторах с предварительно созданными двоичными файлами для armeabi-v7a, x86, arm64-v8a, x86_64. Он также работает на iOS, хотя это выходит за рамки этого вопроса.
Как и JXcore, он используется для размещения движка Node.js в том же процессе, что и приложение, в выделенном потоке. В отличие от JXcore, это в основном чистый Node.js, созданный как библиотека, с несколькими исправлениями переносимости для работы на Android. Это означает, что поддерживать проект в актуальном состоянии намного проще с помощью основной версии Node.js.
Также доступны плагины для Cordova и React Native . Плагины обеспечивают уровень связи между стороной JavaScript этих фреймворков и стороной Node.js. Они также упрощают разработку, автоматически выполняя некоторые задачи, такие как упаковка модулей и кросс-компиляция собственных модулей во время сборки.
Полное раскрытие информации: я работаю в компании, которая разрабатывает Node.js для мобильных приложений.
источник
npm
поддержкой нескольких файлов (в итоге я не использовал, но хорошо знать, что он доступен). Почти удалось заставитьcanvas
работать, но мне нужно было бы предпринять некоторые дополнительные шаги в Linux (в настоящее время использую Windows), и я нашел заменяющую библиотеку, которая этого не требует.J2V8 - лучшее решение вашей проблемы. Он запускает приложение Nodejs на jvm (java и android).
J2V8 - это привязки Java для 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/
источник
руководство по сборке NodeJS для Android https://github.com/dna2github/dna2oslab/tree/master/android/build
существует несколько версий v0.12, v4, v6, v7
На Android легко запустить скомпилированный двоичный файл; например, запустите скомпилированный Nginx: https://github.com/dna2github/dna2mtgol/tree/master/fileShare
Вам просто нужно изменить код, чтобы заменить Nginx на NodeJS; лучше использовать Android Service для запуска node js-сервера на бэкэнде.
источник