Development Tip

Android에서 Node.Js 실행

yourdevel 2020. 10. 5. 21:03
반응형

Android에서 Node.Js 실행


그래서 저는 이것이 많은 질문을 받았다는 것을 압니다. 예를 들어 다음 질문에서 정확히 말하면 :

  1. Android에서 NodeJs 서버 실행
  2. Android에서 node.js 프로젝트를 실행하는 방법은 무엇입니까?
  3. IOS / Android의 NodeJS

제시된 모든 옵션에는 문제가 있습니다.

  • 일반 기기에서 실행하고 싶어서 내 기기에 다른 OS를 설치하는 것을 피하고 싶습니다.

  • JXCore에 대한 작업이 지난 달에 중단되었으며 (결과적으로) 컴파일 할 수 없습니다 ( Ca n't install jxcore-cordova 참조 ).

  • NodeJs Anode 의 Android 포트는 2014 년 이후로 작업되지 않았으며 그 당시에는 실제로 유지 관리되지 않았습니다.
  • 내가 링크 한 두 번째 스레드의 두 번째 답변은 현재 Android 용 공식 노드 배포가 있지만 최신 distBrowse-Website 링크를 제외 하고 실제로 사용하는 방법에 대한 정보를 찾을 수 없습니다
  • 나는 또한 이것을 보았지만 별도의 앱으로 만들고 싶을 때 adb shell 명령을 실행하려면 장치가 PC (또는 이와 유사한)에 연결되어야하는 것 같습니다.

이러한 질문이 게시 된 이후로 과거에는 "최상의 옵션"으로 JXCore를 사용할 수없는 것처럼 보입니다
. Android 장치에서 node.js 애플리케이션 (제 경우에는 서버)을 실행할 수있는 방법이 있습니까?

왜 이것이 필요한지 궁금하다면 Node.Js 서버로 웹 애플리케이션을 만들었고 이제 인터넷 연결 없이도 휴대 전화에서 로컬로 실행할 수있는 버전을 원합니다. 이는 서버가 Android 휴대폰에서 실행되어야 함을 의미합니다.


방금 놀라운 순간을 보냈습니다. Termux를 사용하면 Android 장치에 NodeJS를 설치할 수 있습니다!

내가 가지고 있던 기본 Websocket 속도 테스트 에서 작동하는 것 같습니다 . 제공되는 http는 로컬 및 네트워크에서 모두 액세스 할 수 있습니다.

설치 과정을 설명 하는 중간 게시물이 있습니다.

기본적으로 : 1. termux를 설치합니다. 2. apt 설치 nodejs 3. 노드를 설치합니다!

한 가지 제한 사항이 있습니다. 공유 폴더에 모듈을 설치하는 데 필요한 권한이없는 것 같습니다. 파일 권한 일 수 있습니다. 개인 앱 저장소는 잘 작동합니다.


도리-node.js

멋진 새 응용 프로그램
은 휴대 전화를 루팅 할 필요가 없으며 어떤 곳에서든 js 파일을 실행할 수 있습니다.

  • node.js 런타임 (Android에서 ES2015 / ES6, ES2016 자바 스크립트 및 node.js API 실행)
  • 문서에서 실행되는 API 문서 및 인스턴트 코드
  • 구문 강조 코드 편집기
  • npm 지원
  • 리눅스 터미널 (toybox 0.7.4). shell의 node.js REPL 및 npm 명령 (/ sdcard에서 npm을 실행하는 경우 '--no-bin-links'옵션 추가)
  • StartOnBoot / LiveReload
  • 기본 node.js 바이너리 및 npm이 포함되어 있습니다. 온라인 상태 일 필요가 없습니다.

노드 js 8에 대한 업데이트 지침 (비동기 대기)

  1. node.js v8.3.0 arm zip 파일을 다운로드하고 압축을 풉니 다.

  2. 안드로이드의 sdcard (/ sdcard 또는 / sdcard / path / to / ...)에 'node'복사

  3. 셸을 엽니 다 (앱 메뉴에서 확인)

  4. cd /data/user/0/io.tmpage.dorynode/files/bin (또는 cd && cd .. && cd files / bin 입력)

  5. rm 노드

  6. cp / sdcard / node.

  7. (chmod a + x 노드

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


J2V8은 문제의 최상의 솔루션입니다. jvm (java 및 android)에서 Nodejs 애플리케이션을 실행합니다.

J2V8은 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/


모바일 앱에 Node.js를 사용할 수 있습니다 .

armeabi-v7a, x86, arm64-v8a, x86_64 용으로 사전 빌드 된 바이너리를 사용하여 Android 기기 및 시뮬레이터에서 작동합니다. iOS에서도 작동하지만이 질문의 범위를 벗어납니다.

JXcore와 마찬가지로 전용 스레드에서 앱과 동일한 프로세스에서 Node.js 엔진을 호스팅하는 데 사용됩니다. JXcore와는 달리 기본적으로 순수 Node.js이며 라이브러리로 빌드되며 Android에서 실행되는 몇 가지 이식성 수정 사항이 있습니다. 즉, 메인 라인 Node.js로 프로젝트를 최신 상태로 유지하는 것이 훨씬 더 쉽습니다.

Plugins for Cordova and React Native are also available. The plugins provide a communication layer between the JavaScript side of those frameworks and the Node.js side. They also simplify development by taking care of a few things automatically, like packaging modules and cross-compiling native modules at build time.

Full disclosure: I work for the company that develops Node.js for Mobile Apps.


the tutorial of how to build NodeJS for Android https://github.com/dna2github/dna2oslab/tree/master/android/build
there are several versions v0.12, v4, v6, v7

It is easy to run compiled binary on Android; for example run compiled Nginx: https://github.com/dna2github/dna2mtgol/tree/master/fileShare

You just need to modify code to replace Nginx to NodeJS; it is better if using Android Service to run node js server on the backend.

참고URL : https://stackoverflow.com/questions/36632649/running-node-js-on-android

반응형