Ich weiß also, dass dies ziemlich oft in Frage gestellt wurde. Um genau zu sein, zum Beispiel in diesen Fragen:
- Führen Sie den NodeJs-Server in Android aus
- Wie starte ich mein node.js Projekt auf Android?
und - NodeJS unter IOS / Android
Jede vorgestellte Option hat jedoch ein Problem:
Ich möchte es auf meinem normalen Gerät ausführen, um die Installation eines anderen Betriebssystems auf meinem Gerät zu vermeiden
Die Arbeit an JXCore wurde letzten Monat eingestellt und (möglicherweise als Ergebnis) konnte ich es nicht zum Kompilieren bringen (siehe jxcore-cordova kann nicht installiert werden ).
- Der Android-Port von NodeJs Anode wurde seit 2014 nicht mehr bearbeitet und war damals sowieso nicht wirklich gewartet
- Die zweite Antwort im zweiten Thread, auf den ich verlinkt habe, erwähnt, dass es jetzt eine offizielle Knotenverteilung für Android gibt, aber abgesehen von einem Link zur Browse-Website der neuesten Version konnte ich keine Informationen darüber finden, wie man sie tatsächlich verwendet
- Ich habe dies auch gesehen, aber es scheint, dass das Gerät an einen PC (oder einen ähnlichen) angeschlossen sein muss, um die ADB-Shell-Befehle auszuführen, während ich es als separate App erstellen möchte
Mit der Zeit, die vergangen ist, seit diese Fragen gestellt wurden und als "beste Option" scheint JXCore jetzt unbrauchbar zu sein:
Gibt es eine Möglichkeit, eine Anwendung node.js (in meinem Fall ein Server) auf einem Android-Gerät auszuführen?
Wenn Sie sich fragen, warum ich das möchte: Ich habe eine WebApp mit einem Node.Js-Server erstellt und möchte jetzt eine Version, die Sie lokal von Ihrem Telefon aus starten können, ohne dass eine Internetverbindung erforderlich ist. Dies bedeutet, dass der Server auf einem Android-Telefon ausgeführt werden muss.
Antworten:
Ich hatte gerade einen atemberaubenden Moment - mit Termux können Sie NodeJS auf einem Android-Gerät installieren!
Es scheint für einen grundlegenden Websocket-Geschwindigkeitstest zu funktionieren, den ich zur Hand hatte. Auf die von ihm bereitgestellte http kann sowohl lokal als auch im Netzwerk zugegriffen werden.
Es gibt einen mittleren Beitrag, der den Installationsprozess erklärt
Grundsätzlich gilt: 1. Termux installieren 2. apt nodejs installieren 3. knoten!
Eine Einschränkung, auf die ich gestoßen bin: Es scheint, dass die freigegebenen Ordner nicht über die erforderlichen Berechtigungen zum Installieren von Modulen verfügen. Es könnte nur eine Dateiberechtigungssache sein. Der private App-Speicher funktioniert einwandfrei.
quelle
Dory - node.js
Tolle neue Anwendung Sie
müssen Ihr Telefon nicht rooten und können Ihre js-Datei von jedem Ort aus ausführen.
Aktualisierungsanweisung auf Knoten js 8 (asynchron warten)
Laden Sie die Arm-Zip-Datei node.js v8.3.0 herunter und entpacken Sie sie.
Kopieren Sie 'Node' auf die SD-Karte von Android (/ sdcard oder / sdcard / path / to / ...)
Öffne die Shell (sieh sie dir im Menü der App an)
cd /data/user/0/io.tmpage.dorynode/files/bin (oder geben Sie einfach cd && cd .. && cd files / bin ein)
rm Knoten
cp / sdcard / node.
(chmod a + x Knoten
( https://play.google.com/store/apps/details?id=io.tempage.dorynode&hl=de )
quelle
Sie können Node.js für mobile Apps verwenden .
Es funktioniert auf Android-Geräten und Simulatoren mit vorgefertigten Binärdateien für armeabi-v7a, x86, arm64-v8a, x86_64. Es funktioniert auch unter iOS, obwohl dies außerhalb des Rahmens dieser Frage liegt.
Wie JXcore wird es verwendet, um eine Node.js-Engine im selben Prozess wie die App in einem dedizierten Thread zu hosten. Im Gegensatz zu JXcore handelt es sich im Grunde genommen um reine Node.js, die als Bibliothek erstellt wurden und einige Portabilitätskorrekturen für Android enthalten. Dies bedeutet, dass es viel einfacher ist, das Projekt mit mainline Node.js auf dem neuesten Stand zu halten.
Plugins für Cordova und React Native sind ebenfalls verfügbar. Die Plugins bieten eine Kommunikationsschicht zwischen der JavaScript-Seite dieser Frameworks und der Node.js-Seite. Sie vereinfachen auch die Entwicklung, indem sie sich automatisch um einige Dinge kümmern, z. B. das Packen von Modulen und das Cross-Compilieren nativer Module zur Erstellungszeit.
Vollständige Offenlegung: Ich arbeite für das Unternehmen, das Node.js für mobile Apps entwickelt.
quelle
npm
und Unterstützung für mehrere Dateien (wurde letztendlich nicht verwendet, aber es ist gut zu wissen, dass es verfügbar ist). Fast geschafft,canvas
funktioniert, aber ich müsste einige zusätzliche Schritte unter Linux (derzeit unter Windows) unternehmen und habe eine Ersatzbibliothek gefunden, die dies nicht erfordert.J2V8 ist die beste Lösung für Ihr Problem. Es wird Nodejs Anwendung auf jvm (Java und Android) ausgeführt.
J2V8 ist Java Bindings für V8, aber die Integration von Node.j ist in J2V8 (Version 4.4.0) verfügbar.
Github: https://github.com/eclipsesource/J2V8
Beispiel: http://eclipsesource.com/blogs/2016/07/20/running-node-js-on-the-jvm/
quelle
Das Tutorial zum Erstellen von NodeJS für Android https://github.com/dna2github/dna2oslab/tree/master/android/build
Es gibt verschiedene Versionen v0.12, v4, v6, v7
Es ist einfach, kompilierte Binärdateien unter Android auszuführen. Führen Sie beispielsweise kompiliertes Nginx aus: https://github.com/dna2github/dna2mtgol/tree/master/fileShare
Sie müssen nur den Code ändern, um Nginx durch NodeJS zu ersetzen. Es ist besser, wenn Sie den Android-Dienst verwenden, um den Knoten-JS-Server im Backend auszuführen.
quelle