Android पर Node.Js चलाना


95

इसलिए मुझे पता है कि इस पर काफी सवाल उठाए गए हैं। इन सवालों में उदाहरण के लिए सटीक होने के लिए:

  1. Android में NodeJs सर्वर चलाएं
  2. एंड्रॉइड पर मेरा नोड.जेएस प्रोजेक्ट कैसे चलाएं?
    तथा
  3. IOS / Android पर NodeJS

प्रस्तुत हर विकल्प में एक समस्या है:

  • मैं इसे अपने सामान्य उपकरण पर चलाना चाहता हूं, इसलिए मैं अपने डिवाइस पर अन्य OS स्थापित करने से बचना चाहूंगा

  • JXCore पर काम पिछले महीने बंद कर दिया गया था और (शायद परिणाम के रूप में) मैं इसे संकलन करने के लिए नहीं मिला (देखें jxcore-cordova स्थापित नहीं कर सकता )

  • NodeJs Anode के एंड्रॉइड पोर्ट पर 2014 के बाद से काम नहीं किया गया है और वास्तव में किसी भी तरह से इसे वापस नहीं रखा गया है
  • मैंने जिस दूसरे थ्रेड का उल्लेख किया है, उसका दूसरा उत्तर अभी एंड्रॉइड के लिए एक आधिकारिक नोड वितरण है, लेकिन नवीनतम डिस्ट के ब्राउज़-वेबसाइट के लिंक के अलावा मुझे वास्तव में इसका उपयोग करने के बारे में कोई जानकारी नहीं मिली।
  • मैं यह भी देखा यह लेकिन ऐसा लगता है इस उपकरण में एक पीसी (या समान) से जुड़े होने की है की तरह जब मैं एक अलग अनुप्रयोग के रूप में यह करना चाहते हैं adb शेल कमांड को चलाने के लिए

उस समय के बाद से, जब से ये प्रश्न पोस्ट किए गए हैं और "सबसे अच्छा विकल्प" के रूप में JXCore अब अनुपयोगी लग रहा है:
क्या एंड्रॉइड डिवाइस पर एक नोड.जेएस एप्लिकेशन (मेरे मामले में एक सर्वर) को चलाने का एक तरीका है?

अगर आप सोच रहे हैं कि मैं ऐसा क्यों चाहूंगा: मैंने एक Node.Js सर्वर के साथ एक WebApp बनाया है और मुझे अब एक ऐसा संस्करण चाहिए जो आप इंटरनेट कनेक्शन की आवश्यकता के बिना अपने फोन से स्थानीय रूप से लॉन्च कर सकते हैं। इसका मतलब है कि सर्वर को एंड्रॉइड फोन पर चलाना होगा।


1
यदि आप वास्तव में इस एप्लिकेशन का उपयोग कर सकते हैं या क्या आप इसे बनाने की कोशिश कर रहे हैं, तो आप इसे अपने फोन पर उपयोग कर सकते हैं, बस इस बात का ध्यान रखें कि क्या आप इसकी देखभाल करते हैं। क्योंकि मैं देख सकता हूँ कि यह उपयोगकर्ताओं / ग्राहकों के लिए बहुत सा सेटअप ले रहा है अगर यह काम कर सकता है।
zgc7009

1
मैं पूरी तरह से सहमत हूं कि अगर मैं इसे अपने फोन पर उपयोग करूंगा तो मेरा वर्तमान प्रयास बहुत जटिल हो जाएगा। यह Node.JS सर्वर हालांकि छोटे गेम वेब एप्लिकेशन सर्वर का एक प्रकार है, इसलिए गेम खेलने वाले सभी को उस सर्वर तक पहुंच प्राप्त करनी होगी।
मैरियस

आप एंड्रॉइड बिल्ड में एक Node.JS सर्वर को बंडल करने में सक्षम नहीं हो सकते हैं और बहुत कम लोग इसे तकनीकी रूप से एक गेम खेलने के लिए स्थापित करने के लिए पर्याप्त रूप से झुका जा रहे हैं। अगर यह सिर्फ तुम्हारे लिए है कि एक बात है, लेकिन अगर यह माना जाता है कि मुझे लगता है कि यह कैसे काम करने वाला है। बहुत सारे ऐप हैं, विशेष रूप से गेम जिसमें न केवल इंटरनेट कनेक्शन की आवश्यकता है, बल्कि एक मजबूत भी है।
zgc7009

मुझे पता है लेकिन एंड्रॉइड पर यह एपीपी सिर्फ मेरे लिए है। यह किसी भी एपीपी स्टोर या किसी भी चीज़ पर नहीं जाएगा। मैं सर्वर को सार्वजनिक रूप से होस्ट किए गए Webspace पर भी तैनात करूंगा। इसलिए मैं node.js. का उपयोग करने से नकारना नहीं चाहता ऑफ़लाइन संस्करण बनाने की इच्छा "मैं सोच रहा था" क्या होगा अगर मैं इसे अपने दोस्तों के साथ ऑफ़लाइन खेलना चाहता हूं।
मैरीस

2
मैं उस के बारे में भी सोचता था, लेकिन यह देखते हुए कि मेरा सर्वर सॉकेट पर निर्भर करता है। इस फ्रेमवर्क ने जावा में सर्वर को और अधिक कठिन बना दिया। इसके अलावा, मैं पहले से ही NodeJS में कोड का एक बहुत नीचे था और मैं इसे का एक बड़ा हिस्सा फिर से लिखने की तरह महसूस नहीं किया था। टर्मक्स का उपयोग करने वाला समाधान बहुत अच्छी तरह से btw का काम करता है और मैं अभी भी अपने उद्देश्य के लिए इसका उपयोग करता हूं, हालांकि मुझे यह कहना होगा कि अगर मैं इसका नोडज एक वास्तविक उत्पाद था, तो मैं इसे कभी भी इस्तेमाल नहीं करूंगा क्योंकि यह उसी तरह से बहुत क्लूनी है।
MariusR

जवाबों:


88

मेरे पास बस एक जबड़ा-ड्रॉप पल था - टर्मक्स आपको एंड्रॉइड डिवाइस पर NodeJS स्थापित करने की अनुमति देता है!

यह एक बेसिक वेबसोकेट स्पीड टेस्ट के लिए काम करता है जो मेरे हाथ में था। इसके द्वारा दी जाने वाली http को स्थानीय और नेटवर्क दोनों पर पहुँचा जा सकता है।

एक मध्यम पोस्ट है जो इंस्टॉलेशन प्रक्रिया को समझाता है

मूल रूप से: 1. इंस्टाॅल्ट स्थापित करें।

एक प्रतिबंध मैंने चलाया है - ऐसा लगता है कि साझा किए गए फ़ोल्डरों में मॉड्यूल स्थापित करने के लिए आवश्यक अनुमति नहीं है। यह सिर्फ एक फ़ाइल अनुमति की बात हो सकती है। निजी एप्लिकेशन संग्रहण ठीक काम करता है।


5
अजीब बात यह है कि इस सवाल के लिए पहले से ही एक उत्तर दिया गया था जिसे मैंने स्वीकार किया था जो आपने किया था, लेकिन ऐसा लगता है कि यह किसी कारण से हटा दिया गया है। इसलिए मैंने आपका जवाब स्वीकार कर लिया क्योंकि मैंने टर्मक्स वापस का उपयोग करना शुरू कर दिया था और अभी भी इसका उपयोग कर रहा हूं।
मारियस

6
धन्यवाद। टर्मेक्स के संदर्भ में चलने से पहले मुझे कितनी खोज करनी थी, मुझे आश्चर्य हुआ। यह धागा मेरे द्वारा चलाए गए शुरुआती परिणामों में से एक था, इसलिए मैं इसे अगले खोजकर्ता को एक शॉर्टकट देने के लिए यहां जोड़ दूंगा;)
Pyro

ऐसा लगता है कि एक संरक्षित प्रश्न पर 11 upvotes के साथ स्वीकार किए गए उत्तर को हटाना ठीक है, शायद क्योंकि यह "लिंक केवल" उत्तर था, इसलिए शायद यह भी किसी बिंदु पर हटा दिया जाएगा ...
jcesarmobile

2
क्या आप जानते हैं कि अगर आप टर्मेक्स ऐप से बाहर निकलते हैं तो यह सर्वर को बैकग्राउंड में चालू रखने की अनुमति देगा? कैसे के बारे में जब आप Android लॉक? धन्यवाद।
वाफ्थेफ्यूवन

5
मुझे $ apt अपडेट करने के लिए $ apt का अपग्रेड करना पड़ा, इससे पहले कि मुझे पता चले कि नोड्स ने इसे HUAWEI नोट 6 में इस्तेमाल किया
M.Hefny

16

डोरी - नोड.जेएस

महान नया आवेदन
अपने फोन को रूट करने की आवश्यकता नहीं है और आप अपने js फ़ाइल को कहीं से भी चला सकते हैं।

  • नोड.जेएस रनटाइम (Android में ES2015 / ES6, ES2016 जावास्क्रिप्ट और नोड.जेएस एपीआई चलाएं)
  • एपीआई दस्तावेज़ और तत्काल कोड डॉक्टर से चलते हैं
  • वाक्य रचना हाइलाइटिंग कोड संपादक
  • npm का समर्थन करता है
  • लिनक्स टर्मिनल (टॉयबॉक्स 0.7.4)। यदि आप npm / / sdcard में निष्पादित करते हैं, तो shell.js REPL और npm कमांड शेल में ('-no-bin-links' विकल्प जोड़ें)
  • StartOnBoot / LiveReload
  • देशी नोड .js बाइनरी और npm शामिल हैं। ऑनलाइन होने की आवश्यकता नहीं है।

नोड 8 (async प्रतीक्षा) को अद्यतन निर्देश

  1. डाउनलोड नोड.जेएस v8.3.0 आर्म ज़िप फ़ाइल और अनज़िप।

  2. android के sdcard (/ sdcard या / sdcard / path / to / ...) के लिए 'नोड' कॉपी करें

  3. खोल खोलें (ऐप के मेनू में देखें)

  4. cd /data/user/0/io.tmpage.dorynode/files/bin (या, बस cd && cd .. && cd files / bin) टाइप करें

  5. आरएम नोड

  6. सीपीपी / एसडीकार्ड / नोड।

  7. (chmod a + x नोड

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


2
लगता है कुछ समस्याएँ चल रही हैं npm इंस्टाल, उदाहरण के लिए "/" और रीड-ओनली एक्सेस के लिए कोई एक्सेस नहीं होने के बारे में शिकायत की।
माइकल

उनसे संपर्क करें: (tempage.io@gmail.com)
सेड्रिक हेइडरिज़ारेई

केवल नोड के एक बहुत पुराने संस्करण का समर्थन करने लगता है। लगभग 6.x जबकि वर्तमान में जैसा कि मैंने पोस्ट किया है यह 10.x / 11.x है
हिप्पिट्रैसिल

अपडेट करना अब बहुत आसान है: <प्री> अपग्रेड नोड.जेएस: 'डाउनलोड फ़ाइल' मेनू -> चेक 'एपफाइल्स' -> चेक 'निष्पादन योग्य' v6.12.3 बांह: dorynode.firebaseapp.com/v6.12.3-arm_release/node v8। 3.0 बांह: dorynode.firebaseapp.com/v8.3.0_arm_release/node v8.9.4 बांह (केवल ऊपर Android 5.0 के लिए): dorynode.firebaseapp.com/v8.9.4_armrelrel/node v10.15.1 बांह (केवल Android 5.0 ऊपर) : dorynode.firebaseapp.com/v10.15.1_arm_release/node देख myket.ir/app/io.tempage.dorynode?lang=en </ pre>
Kay मार्क्वार्ट

13

आप मोबाइल एप्लिकेशन के लिए Node.js का उपयोग कर सकते हैं ।

यह एंड्रॉइड डिवाइस और सिमुलेटर पर काम करता है, armeabi-v7a, x86, arm64-v8a, x86_64 के लिए पूर्व-निर्मित बायनेरिज़ के साथ। यह iOS पर भी काम करता है, हालांकि यह इस सवाल के दायरे से बाहर है।

JXcore की तरह, इसका उपयोग Node.js इंजन को उसी प्रक्रिया में होस्ट करने के लिए किया जाता है, जो एप्लिकेशन को समर्पित थ्रेड में किया जाता है। JXcore के विपरीत, यह मूल रूप से शुद्ध Node.js है, जिसे लाइब्रेरी के रूप में बनाया गया है, Android पर चलने के लिए कुछ पोर्टेबिलिटी फिक्स करता है। इसका मतलब यह है कि प्रोजेक्ट को मेनलाइन Node.js. के साथ अद्यतित रखना बहुत आसान है

कॉर्डोवा और रिएक्ट नेटिव के लिए प्लगइन्स भी उपलब्ध हैं। प्लगइन्स उन चौखटे के जावास्क्रिप्ट पक्ष और Node.js पक्ष के बीच एक संचार परत प्रदान करते हैं। वे कुछ चीजों की स्वचालित रूप से देखभाल करके विकास को सरल बनाते हैं, जैसे कि पैकेजिंग मॉड्यूल और बिल्ड समय पर देशी मॉड्यूल को पार करना।

पूर्ण प्रकटीकरण: मैं उस कंपनी के लिए काम करता हूं जो मोबाइल ऐप्स के लिए Node.js विकसित करती है।


धन्यवाद, महान काम करता है! पूरी तरह से npmऔर कई फ़ाइल समर्थन के साथ मेरी ज़रूरतों को पूरा किया (समाप्त नहीं हुआ, लेकिन यह जानना अच्छा है कि यह उपलब्ध है)। लगभग canvasकाम करने में कामयाब रहे , लेकिन मुझे लिनक्स में (वर्तमान में विंडोज का उपयोग करके) कुछ अतिरिक्त कदम उठाने की आवश्यकता होगी और मुझे एक प्रतिस्थापन पुस्तकालय मिला जिसकी आवश्यकता नहीं है।
गुइटरिटर

हिया, एलेक्सिस। क्या यह एक्सप्रेस चलेगी?
महेश

हाय @ ममेश, आप निश्चित रूप से एक्सप्रेस का उपयोग कर सकते हैं। Httpj सर्वर और पी 2 पी संचार (जैसे वेबस्कैट के साथ) चलाना नोडज-मोबाइल का उपयोग करने के लिए बहुत ही सामान्य परिदृश्य हैं। यदि आप कॉर्डोवा का उपयोग करना चाहते हैं, तो आपको यह नमूना ऐप उपयोगी लग सकता है क्योंकि यह एक्सप्रेस का उपयोग करता है: github.com/JaneaSystems/nodejs-mobile-samples/blob/…
एलेक्सिस कैंपिला

9

J2V8 आपकी समस्या का सबसे अच्छा समाधान है। यह jvm (java और android) पर Nodejs एप्लिकेशन चलाती है।

J2V8 V8 के लिए जावा बाइंडिंग है, लेकिन N2.js एकीकरण J2V8 (संस्करण 4.4.0) में उपलब्ध है

जीथब: https://github.com/eclipsesource/J2V8

उदाहरण: http://eclipsesource.com/blogs/2016/07/20/running-node-js-on-the-jjm/


1

Android के लिए निर्माण NodeJS करने के लिए कैसे की ट्यूटोरियल https://github.com/dna2github/dna2oslab/tree/master/android/build
कई संस्करण हैं v0.12, v4, v6, v7

एंड्रॉइड पर संकलित बाइनरी चलाना आसान है; उदाहरण के लिए संकलित नग्नेक्स चलाएं: https://github.com/dna2github/dna2mtgol/tree/master/fileShare

आपको बस कोड को संशोधित करके Nginx को NodeJS में बदलने की आवश्यकता है; बैकएंड पर नोड जेएस सर्वर चलाने के लिए एंड्रॉइड सर्विस का उपयोग करना बेहतर है।


..... Nginx को NodeJS को बदलने के लिए कोड को संशोधित करें .... यह बेहतर होगा यदि आप ऐसा करने के बारे में एक उदाहरण दिखाते हैं।
एडीजे क्रूसर

यहाँ एक उदाहरण है: github.com/dna2github/dna2mtgol/tree/master/nodeBase/platform
Doz Parp
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.