Android에서 Node.Js 실행
그래서 저는 이것이 많은 질문을 받았다는 것을 압니다. 예를 들어 다음 질문에서 정확히 말하면 :
제시된 모든 옵션에는 문제가 있습니다.
일반 기기에서 실행하고 싶어서 내 기기에 다른 OS를 설치하는 것을 피하고 싶습니다.
JXCore에 대한 작업이 지난 달에 중단되었으며 (결과적으로) 컴파일 할 수 없습니다 ( Ca n't install jxcore-cordova 참조 ).
- NodeJs Anode 의 Android 포트는 2014 년 이후로 작업되지 않았으며 그 당시에는 실제로 유지 관리되지 않았습니다.
- 내가 링크 한 두 번째 스레드의 두 번째 답변은 현재 Android 용 공식 노드 배포가 있지만 최신 dist 의 Browse-Website 링크를 제외 하고 실제로 사용하는 방법에 대한 정보를 찾을 수 없습니다
- 나는 또한 이것을 보았지만 별도의 앱으로 만들고 싶을 때 adb shell 명령을 실행하려면 장치가 PC (또는 이와 유사한)에 연결되어야하는 것 같습니다.
이러한 질문이 게시 된 이후로 과거에는 "최상의 옵션"으로 JXCore를 사용할 수없는 것처럼 보입니다
. Android 장치에서 node.js 애플리케이션 (제 경우에는 서버)을 실행할 수있는 방법이 있습니까?
왜 이것이 필요한지 궁금하다면 Node.Js 서버로 웹 애플리케이션을 만들었고 이제 인터넷 연결 없이도 휴대 전화에서 로컬로 실행할 수있는 버전을 원합니다. 이는 서버가 Android 휴대폰에서 실행되어야 함을 의미합니다.
방금 놀라운 순간을 보냈습니다. Termux를 사용하면 Android 장치에 NodeJS를 설치할 수 있습니다!
내가 가지고 있던 기본 Websocket 속도 테스트 에서 작동하는 것 같습니다 . 제공되는 http는 로컬 및 네트워크에서 모두 액세스 할 수 있습니다.
기본적으로 : 1. termux를 설치합니다. 2. apt 설치 nodejs 3. 노드를 설치합니다!
한 가지 제한 사항이 있습니다. 공유 폴더에 모듈을 설치하는 데 필요한 권한이없는 것 같습니다. 파일 권한 일 수 있습니다. 개인 앱 저장소는 잘 작동합니다.
멋진 새 응용 프로그램
은 휴대 전화를 루팅 할 필요가 없으며 어떤 곳에서든 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에 대한 업데이트 지침 (비동기 대기)
node.js v8.3.0 arm zip 파일을 다운로드하고 압축을 풉니 다.
안드로이드의 sdcard (/ sdcard 또는 / sdcard / path / to / ...)에 'node'복사
셸을 엽니 다 (앱 메뉴에서 확인)
cd /data/user/0/io.tmpage.dorynode/files/bin (또는 cd && cd .. && cd files / bin 입력)
rm 노드
cp / sdcard / node.
(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
'Development Tip' 카테고리의 다른 글
log4j를 사용하여 서로 다른 콘텐츠의 여러 로그 파일 만들기 (0) | 2020.10.05 |
---|---|
DriverManager 대신 DataSource를 사용하는 이유는 무엇입니까? (0) | 2020.10.05 |
ASP.NET Core 2.0 Razor 대 Angular / React / etc (0) | 2020.10.05 |
반짝이는 서버없이 자체 반짝이는 앱 호스팅 및 설정 (0) | 2020.10.05 |
.NET에는 기본 제공 EventArgs가 있습니까? (0) | 2020.10.05 |