2016-04-14 19 views
46

Also ich weiß, das wurde ziemlich viel in Frage gestellt. Um genau zu sein zum Beispiel in diesen Fragen:Running Node.Js auf Android

  1. Run NodeJs server in Android
  2. How to run my node.js project on android?
    und
  3. NodeJS on IOS/Android

Jede Option präsentiert haben ein Problem, aber:

  • Ich mag zu rennen es auf meinem normalen Gerät so würde Ich mag ein anderes Betriebssystem auf dem Gerät vermeiden Installation

  • Arbeiten an JXCore gestoppt wurden im letzten Monat und (vielleicht als Ergebnis) Ich konnte es nicht zu kompilieren bekommen (siehe Can't install jxcore-cordova)

  • Der Android Port von NodeJs Anode wurde seit 2014 nicht bearbeitet und war damals noch nicht wirklich gepflegt
  • Die zweite Antwort in dem zweiten Thread, mit dem ich verlinkt bin, gibt es jetzt eine offizielle Knotenverteilung für Android aber abgesehen von ein Link zu der Browse-Website of the latest dist Ich konnte keine Informationen finden, wie man es tatsächlich verwendet
  • I auch sah this aber es scheint, wie das Gerät an einen PC (oder ähnliches) verbunden werden hat die adb Shell-Kommandos auszuführen, während ich es als separates App

Mit der Zeit, die Vergangenheit, da diese machen möchte Fragen wurden gestellt und als die "beste Option" scheinen JXCore jetzt unbrauchbar zu sein:
Gibt es eine Möglichkeit, eine node.js-Anwendung (ein Server in meinem Fall) 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 starten können, ohne eine Internetverbindung zu benötigen. Dies bedeutet, dass der Server auf einem Android-Telefon ausgeführt werden muss.

+1

Nur aus Interesse, tun Sie sich interessieren, ob jemand tatsächlich diese App nutzen können, oder sind Sie nur versuchen, es zu machen, so können Sie es auf Ihrem Telefon verwenden. Weil ich sehe, dass dies eine Menge Setup auf dem Benutzer/Client-Ende erfordert, wenn es sogar funktionieren könnte. – zgc7009

+0

Ich stimme völlig zu, dass, wenn ich es nur auf meinem Telefon verwenden würde, mein aktueller Versuch viel zu kompliziert wäre. Dieser Node.JS Server ist jedoch eine Art kleiner Game Web Application Server, so dass jeder, der das Spiel spielt, Zugang zu diesem Server haben muss. – MariusR

+0

Sie werden nicht in der Lage sein, einen Node.JS-Server zu einem Android-Build zu bündeln, und nur sehr wenige Leute werden technisch genug geneigt sein, es zu installieren, um ein Spiel zu spielen. Wenn es nur für dich ist, ist das eine Sache, aber wenn es überhaupt skaliert werden soll, sehe ich nicht, wie das funktionieren wird. Es gibt viele Apps, insbesondere Spiele, die nicht nur eine Internetverbindung, sondern auch eine starke Internetverbindung benötigen. – zgc7009

Antwort

36

Ich hatte gerade einen Kiefer-Drop-Moment - Termux können Sie NodeJS auf einem Android-Gerät installieren!

Es scheint für eine grundlegende Websocket Speed Test zu arbeiten, die ich zur Hand hatte. Auf das von ihm bediente HTTP kann sowohl lokal als auch im Netzwerk zugegriffen werden.

Es gibt eine medium post that explains the installation process

Grundsätzlich gilt: 1. termux 2. apt installieren NodeJS Installieren Sie es 3. Knoten up!

Eine Beschrä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 Datei Erlaubnis Sache sein. Der private App-Speicher funktioniert einwandfrei.

+2

Das komische Ding ist dort war bereits eine Antwort, die ich für diese Frage annahm, die dasselbe beschrieb, das du tatest, aber es scheint wie es aus irgendeinem Grund gelöscht wurde. Deshalb habe ich deine Antwort akzeptiert, als ich damals mit Termux angefangen habe und es immer noch benutze. – MariusR

+5

Danke. Ich war überrascht, wie viel Suchen ich tun musste, bevor ich auf eine Referenz von Termux stieß. Dieser Thread war einer der frühen Ergebnisse, die ich lief, also würde ich es hier hinzufügen, um dem nächsten Sucher eine Abkürzung zu geben;) – Pyro

+0

Es scheint in Ordnung zu sein, die akzeptierte Antwort mit 11 Upvotes zu einer geschützten Frage zu löschen , wahrscheinlich, weil es sich um eine "Nur Link" -Antwort handelte, also wird diese wahrscheinlich irgendwann gelöscht ... – jcesarmobile

1

das Tutorial, wie NodeJS für Android bauen https://github.com/dna2github/dna2oslab/tree/master/android/build
gibt es mehrere Versionen v0.12, v4, v6, v7

Es ist einfach zusammengestellt binär auf Android laufen; Zum Beispiel führen kompilierte Nginx: https://github.com/dna2github/dna2mtgol/tree/master/fileShare

Sie müssen nur Code ändern, um Nginx zu NodeJS zu ersetzen; Es ist besser, wenn Sie den Android Service verwenden, um den Knoten js server im Backend auszuführen.

+0

** ..... Code ändern, um zu ersetzen Nginx an NodeJS .... ** es wäre besser, wenn Sie ein Beispiel zeigen würden, wie Sie das tun können. –

+0

hier ist ein Beispiel: https://github.com/dna2github/dna2mtgol/tree/master/nodeBase/platform –

2

Dory - node.js

Groß Neue Anwendung
Keine Notwendigkeit, Ihr Telefon zu verwurzeln und Sie können Ihre js-Datei von Anywere ausführen.

  • node.js Laufzeit (run ES2015/ES6, ES2016 JavaScript und APIs in Android node.js)
  • API Dokumente und Instant-Code laufen von doc
  • Syntax-Markierung-Code-Editor
  • NPM Abstützungen
  • native node.js binary und npm sind enthalten. keine Notwendigkeit, online zu sein.

(https://play.google.com/store/apps/details?id=io.tempage.dorynode&hl=en)

+0

scheint einige Probleme laufen npm installieren, beschwerte sich über keinen Zugriff auf "/" und nur lesenden Zugriff auf die FS, zum Beispiel. – Michael