There are a bunch of old SO threads dealing with running NodeJS on Android. Most of these are no longer viable (JXCore) and/or provide confusing, outdated, incomplete, or erroneous information.
Therefore I have investigated what seems to be currently (as of August 2017) viable approaches and found three likely candidates.
To decide between them I would like to know:
- the primary differences between these approaches
- specific pro's and con's on each approach
- likely hurdles, challenges and shortcomings
- do you know of other viable alternatives?
Viable approaches are:
- Running V8 javascript engine which includes NodeJS (J2V8)
- Use NodeJS directly, embedded as native library (node-on-android)
- Combining React Native with NodeJS app-as-a-service (react-native-node)
Besides that I have found a number of related interesting resources:
- NPM install NodeJS directly using Termux without rooting (not for end-users)
- LiquidCore - native mobile micro-app devenv (not investigated, interesting concepts)
- dna2oslab - has a working NodeJS build script for node executables
- Building NodeJS for Android - blog with useful compilation tips and example project