Je sais donc que cela a été beaucoup remis en question. Pour être exact par exemple dans ces questions:
- Exécutez le serveur NodeJs sous Android
- Comment exécuter mon projet node.js sur Android?
et - NodeJS sur IOS / Android
Chaque option présentée a cependant un problème:
Je veux l'exécuter sur mon appareil normal, je voudrais donc éviter d'installer un autre système d'exploitation sur mon appareil
Le travail sur JXCore a été arrêté le mois dernier et (peut-être en conséquence) je n'ai pas pu le faire compiler (voir Impossible d'installer jxcore-cordova )
- Le port Android de NodeJs Anode n'a pas été travaillé depuis 2014 et n'était pas vraiment entretenu à l'époque de toute façon
- La deuxième réponse dans le deuxième fil de discussion auquel j'ai lié a mentionné qu'il existe une distribution de nœuds officielle pour Android maintenant, mais à part un lien vers le site Web de navigation de la dernière distribution, je n'ai pas trouvé d'informations sur la façon de l'utiliser.
- J'ai également vu cela, mais il semble que l'appareil doit être connecté à un PC (ou similaire) pour exécuter les commandes adb shell alors que je voudrais en faire une application distincte
Avec le temps passé depuis que ces questions ont été postées et comme "meilleure option", JXCore semble désormais inutilisable:
existe-t-il un moyen d'exécuter une application node.js (un serveur dans mon cas) sur un appareil Android?
si vous vous demandez pourquoi je veux ceci: j'ai créé une WebApp avec un serveur Node.Js et je veux maintenant une version que vous pouvez lancer localement depuis votre téléphone sans nécessiter de connexion Internet. Cela signifie que le serveur doit fonctionner sur un téléphone Android.
Réponses:
Je viens de passer un moment à couper le souffle - Termux vous permet d'installer NodeJS sur un appareil Android!
Cela semble fonctionner pour un test de vitesse Websocket de base que j'avais sous la main. Le http servi par celui-ci est accessible à la fois localement et sur le réseau.
Il y a un article moyen qui explique le processus d'installation
Fondamentalement: 1. Installez termux 2. apt install nodejs 3. node it up!
Une restriction que j'ai rencontrée - il semble que les dossiers partagés ne disposent pas des autorisations nécessaires pour installer des modules. Cela pourrait simplement être une question de permission de fichier. Le stockage privé des applications fonctionne très bien.
la source
Dory - node.js
Grande nouvelle application
pas besoin de rooter votre téléphone et vous pouvez exécuter votre fichier js à partir de n'importe où.
Mettre à jour l'instruction vers le nœud js 8 (attente asynchrone)
Téléchargez le fichier zip arm node.js v8.3.0 et décompressez-le.
copier 'node' sur la carte SD d'Android (/ sdcard ou / sdcard / path / to / ...)
ouvrez le shell (vérifiez-le dans le menu de l'application)
cd /data/user/0/io.tmpage.dorynode/files/bin (ou tapez simplement cd && cd .. && cd files / bin)
noeud rm
cp / sdcard / node.
(chmod a + x nœud
( https://play.google.com/store/apps/details?id=io.tempage.dorynode&hl=en )
la source
Vous pouvez utiliser Node.js pour les applications mobiles .
Il fonctionne sur les appareils et simulateurs Android, avec des binaires pré-construits pour armeabi-v7a, x86, arm64-v8a, x86_64. Cela fonctionne également sur iOS, bien que cela ne fasse pas partie de cette question.
Comme JXcore, il est utilisé pour héberger un moteur Node.js dans le même processus que l'application, dans un thread dédié. Contrairement à JXcore, il s'agit essentiellement de Node.js pur, construit comme une bibliothèque, avec quelques correctifs de portabilité à exécuter sur Android. Cela signifie qu'il est beaucoup plus facile de maintenir le projet à jour avec la ligne principale Node.js.
Plugins pour Cordova et React Native sont également disponibles. Les plugins fournissent une couche de communication entre le côté JavaScript de ces frameworks et le côté Node.js. Ils simplifient également le développement en prenant en charge automatiquement certaines choses, comme l'empaquetage de modules et la compilation croisée de modules natifs au moment de la construction.
Divulgation complète: je travaille pour la société qui développe Node.js pour les applications mobiles.
la source
npm
et de la prise en charge de plusieurs fichiers (fini par ne pas utiliser, mais il est bon de savoir qu'il est disponible).canvas
J'ai presque réussi à faire fonctionner, mais j'aurais besoin de prendre des mesures supplémentaires sous Linux (utilisant actuellement Windows) et j'ai trouvé une bibliothèque de remplacement qui n'en a pas besoin.J2V8 est la meilleure solution à votre problème. Il exécute l'application Nodejs sur jvm (java et android).
J2V8 est Java Bindings for V8, mais l'intégration Node.js est disponible dans J2V8 (version 4.4.0)
Github: https://github.com/eclipsesource/J2V8
Exemple: http://eclipsesource.com/blogs/2016/07/20/running-node-js-on-the-jvm/
la source
le tutoriel sur la façon de construire NodeJS pour Android https://github.com/dna2github/dna2oslab/tree/master/android/build
il existe plusieurs versions v0.12, v4, v6, v7
Il est facile d'exécuter des binaires compilés sur Android; par exemple, exécutez Nginx compilé: https://github.com/dna2github/dna2mtgol/tree/master/fileShare
Il vous suffit de modifier le code pour remplacer Nginx par NodeJS; il est préférable d'utiliser le service Android pour exécuter le serveur node js sur le backend.
la source