Make sure you have adb
installed and that it works. Test this by connecting your phone and running adb devices
. In order to proceed past the build stage, your device must be rooted. The device I used is running Cyanogenmod with root enabled for both apps and adb.
You'll need to get the Android NDK. I used r8e, which you can get from here: http://dl.google.com/android/ndk/android-ndk-r8e-linux-x86.tar.bz2. Make sure you get the x86 version, as the x86_64 version will not help you. Let's call the path where you unpack this NDK_PATH.
git clone https://github.com/joyent/node.git
We'll refer to the local path as NODE_SOURCE.
Apply the following changes (either by hand or using patch
):
diff --git a/common.gypi b/common.gypi
index 42ab572..48334de 100644
--- a/common.gypi
+++ b/common.gypi
@@ -10,7 +10,8 @@
'msvs_multi_core_compile': '0', # we do enable multicore compiles, but not using the V8 way
'gcc_version%': 'unknown',
'clang%': 0,
- 'python%': 'python',
+ 'python%': 'python2',
+ 'arm_version%': 7,
# Enable V8's post-mortem debugging only on unix flavors.
'conditions': [
./android-configure NDK_PATH
make
You can find the binary image at NODE_SOURCE/out/Release/node
. This is the file you will copy to your Android device.
At this point, you have a binary node
that will run on your Android device. There are a few steps involved in getting this file to your device.
With your device connected to your computer, run
adb push NODE_SOURCE/out/Release/node /sdcard/
adb shell
su
mount -o remount,rw /
cp /sdcard/node /sbin
chmod 755 /sbin/node
chmod 755 /sbin
node
https://github.com/mNodeJS/node-android you are all welcome to make it better code