Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

unable to run node.js on Android phone?

I have been trying to port Node.js on Android phone by following the link below

http://www.xydo.com/toolbar/20311835-node_js_on_android

I created the node.tar on QEMU environment and sent it to the ubuntu machine ?

I have put all .so files in system/lib and node bin file in system/bin . When i try to run it it gives "Node not Found " even though it is present .

NOTE : I have manually pushed the files since tar command does not work on android . I am using a rooted device .

Is there any way to create the binary file in android directly without the ARM environment ???

Am i missing something ?Thanks for the help .


Thanks for the response .

I have installed debian on Android using your suggested link: http://lanrat.com/android/debian

After that, when I run the following commands on chroot to be able to make and install Node js, (ref:http://howtonode.org/f1932c1c56d3a50fe0c21998362d80f405229b5a/arm-chroot-fun)

$git clone http://github.com/creationix/nvm.git
$. nvm/nvm.sh              
$export JOBS=1        
$nvm install v0.4.11

I get the following error: /.nvm/src/node-v0.4.11/deps/v8/src/arm/macro-assembler-arm.cc:61:3: error: #error "For thumb inter-working we require an architecture which supports blx" scons: *** [obj/release/arm/macro-assembler-arm.o] Error 1 scons: building terminated because of errors. Waf: Leaving directory `/.nvm/src/node-v0.4.11/build' Build failed: -> task failed (err #2): {task: libv8.a SConstruct -> libv8.a}

Alternately, if I try the following:

$ mkdir tmp
$ cd tmp
$ wget http://nodejs.org/dist/node-v0.4.11.tar.gz
$ tar -xvzf node-v0.4.11.tar.gz

Added '-march=armv5t' to 'CCFLAGS',in node-v0.4.11/deps/v8/SConstruct and the

$ cd node-v0.4.11
$ ./configure
$ make
$ make install

the installation runs without errors, node --version reports v0.4.11 and when I try to run any node commands, I get pure virtual method called terminate called without an active exception Aborted

can you please let me know what i am doing wrong here?

like image 589
Preethi Avatar asked Jul 29 '11 19:07

Preethi


2 Answers

You definitely have tar on your phone and everything else that comes with busybox!
http://en.wikipedia.org/wiki/BusyBox
Also look at this it will improve your Droid hacking time 10 fold
https://github.com/jackpal/Android-Terminal-Emulator/wiki/Frequently-Asked-Questions
and consider acquiring
http://www.magicandroidapps.com/wiki//index.php?title=Main_Page
and https://market.android.com/details?id=org.pocketworkstation.pckeyboard Your going to wonder how you where doing it before you got these.

The tutorial you where following was a little shaky so I included the resources I used to get ubuntu and nodejs running on my Android. It took me a while but it was a lot easier after a little research on how exactly debootstrap and qemu worked, you have to get a little linuxy but once its running you will be amazed at all the options you have.
http://lanrat.com/android/debian
http://howtonode.org/f1932c1c56d3a50fe0c21998362d80f405229b5a/arm-chroot-fun
What I ended up doing was building a cross compilation tool kit using deb boot strap and qemu and compiling everything on my desktop then moving the image over to my Android.

Lastly I included my arm ubuntu Image. You may have to tweak the bash script a bit but other then that the image is universal and even runs on an IPhone. If you have any trouble digesting all this or getting the image working feel free to ask. I want to see node on as many phones as possible!
www.castedspell.com/ubuntu4droid.tar.gz
The image is 3 gigs uncompressed but really only 600 mb and you can use any partition re-size tool to shrink it down.

like image 169
James Andino Avatar answered Oct 02 '22 19:10

James Andino


There is an Android port of NodeJS with source you can get up and running with.

like image 22
hendry Avatar answered Oct 02 '22 19:10

hendry