Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Android
  3. node-android

node-android

NOASSERTIONJava

Run Node.js applications on Android by reimplementing Node.js APIs in Java.

Visit WebsiteGitHubGitHub
635 stars65 forks0 contributors

What is node-android?

node-android is a Java-based reimplementation of Node.js that allows developers to run Node.js applications on Android devices. It provides a compatible API with Node.js 0.10.x, enabling server-side JavaScript execution within Android apps without requiring a separate Node.js installation. The project includes core Node.js modules like HTTP, TCP, and EventEmitter, rewritten in Java for Android compatibility.

Target Audience

Android developers who want to run Node.js applications or server-side JavaScript logic directly on Android devices, and developers building peer-to-peer or networked mobile apps using Node.js APIs.

Value Proposition

It offers a unique solution for executing Node.js code natively on Android by reimplementing Node.js APIs in Java, avoiding the need for external runtimes or complex workarounds. Developers choose it for its compatibility with existing Node.js modules and its integration with Android's native threading and networking capabilities.

Overview

Run Node.js on Android by rewrite Node.js in Java

Use Cases

Best For

  • Running Node.js server applications directly on Android devices
  • Building peer-to-peer networking apps on Android using Node.js APIs
  • Executing server-side JavaScript logic in Android apps without a separate runtime
  • Developing Android apps that require WebSocket or secure WebSocket communications
  • Integrating Node.js-style event-driven programming into Android applications
  • Prototyping networked Android apps with familiar Node.js modules

Not Ideal For

  • Projects requiring modern Node.js features beyond version 0.10.x or ES6+ JavaScript support
  • Applications where high-performance JavaScript execution is critical, as the Rhino engine may not match V8's speed
  • Teams using contemporary Android development tools, since the project is tied to deprecated Android Studio 1.*
  • Development workflows that depend heavily on npm and modern Node.js modules, due to compatibility issues with older APIs

Pros & Cons

Pros

Node.js API Compatibility

It reimplements Node.js 0.10.x APIs in Java, including core modules like EventEmitter, Stream, and HTTP, allowing server-side JavaScript execution on Android without a separate runtime.

Multi-threading Support

Enables running separate Node.js contexts in Java threads, facilitating concurrent execution within Android apps for better resource utilization.

Asynchronous I/O with libUV

Integrates libuv via JNI for efficient asynchronous operations, providing performance benefits similar to native Node.js in Android environments.

Comprehensive Network Protocols

Supports HTTP, TCP, UDT, WebSocket, and SecureWebSocket, offering versatile networking capabilities for building peer-to-peer or server-like Android apps.

Built-in Cryptography

Includes NaCL-based crypto with SecureWebSocket and NaCL Cert, enabling secure communications directly within Android applications.

Cons

Outdated Node.js Version

Based on Node.js 0.10.x from 2014, it lacks support for modern JavaScript features and newer Node.js APIs, severely limiting compatibility with contemporary modules.

Deprecated Development Tooling

Requires Android Studio 1.*, which is no longer supported, making setup, debugging, and integration challenging with current Android SDKs and IDEs.

Incomplete Documentation

The README admits 'TODO: API doc, more demos,' leading to sparse guidance that can hinder adoption, troubleshooting, and effective use of the library.

Performance Concerns with Rhino

Relies on the Rhino JavaScript engine, which may have inferior performance and fewer features compared to modern engines like V8, affecting execution speed and capability.

Frequently Asked Questions

Quick Stats

Stars635
Forks65
Contributors0
Open Issues1
Last commit2 years ago
CreatedSince 2014

Tags

#android#javascript-runtime#java#websocket#nodejs#rhino#andriod#mobile-development#cryptography#p2p#libuv#networking

Built With

l
libuv
A
Android Studio
J
JNI
J
Java
R
Rhino

Links & Resources

Website

Included in

Android12.0k
Auto-fetched 1 day ago

Related Projects

okhttpokhttp

Square’s meticulous HTTP client for the JVM, Android, and GraalVM.

Stars46,970
Forks9,275
Last commit1 day ago
IonIon

Android Asynchronous Networking and Image Loading

Stars6,252
Forks1,021
Last commit2 years ago
Fast-Android-NetworkingFast-Android-Networking

🚀 A Complete Fast Android Networking Library that also supports HTTP/2 🚀

Stars5,903
Forks977
Last commit3 months ago
RoboSpiceRoboSpice

Repo of the Open Source Android library : RoboSpice. RoboSpice is a modular android library that makes writing asynchronous long running tasks easy. It is specialized in network requests, supports caching and offers REST requests out-of-the box using extension modules.

Stars2,931
Forks539
Last commit8 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub