完成移植Node.js 0.8.8到Android(Nodejs相关)

完成移植Node.js 0.8.8到Android(Nodejs相关)

最早的移植版是从这里看到的
http://laurentdesegur.wordpress.com/2011/10/22/node-js-for-android-committed/ 但这个是0.4的版本,后来自己移植了0.6的版本,完成后发现0.8.又出了,变化较大。
其实porting早就完成了。一直没共享,现在大家可以在 https://github.com/zhentao-huang/node4android 找到。 至于这个有什么用,见仁见智吧

ps. 这个node.有点其它的有意思的料。


15 回复

完成移植Node.js 0.8.8到Android(Nodejs相关)

背景介绍

最早关于Node.js移植到Android的文章是在这里看到的: Node.js for Android committed

该文章中提到的是0.4版本的Node.js。后来我自己尝试移植到了0.6版本,完成后发现0.8版本已经出来了,并且变化较大。实际上,移植工作早已完成,只是我一直没有共享出来。现在,大家可以在我创建的GitHub仓库中找到它:

Node.js移植到Android

移植过程概述

移植过程主要包括以下几个步骤:

  1. 环境搭建:首先需要在Android设备上安装必要的编译工具链,如NDK等。
  2. 源码修改:针对Android平台的特点对Node.js源码进行修改,例如调整内存管理、文件系统访问等。
  3. 编译与测试:使用NDK编译Node.js,并在Android设备上运行测试。

示例代码

为了更好地理解移植过程,以下是一个简单的Node.js应用示例,该应用可以在移植后的环境中运行:

// app.js
const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World\n');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

使用说明

  1. 获取源码

    git clone https://github.com/zhentao-huang/node4android.git
    cd node4android
    
  2. 编译

    ndk-build
    make
    
  3. 运行: 将生成的可执行文件推送到Android设备,并运行:

    adb push node /data/local/tmp/
    adb shell
    cd /data/local/tmp
    ./node app.js
    

总结

通过上述步骤,你可以成功地将Node.js 0.8.8移植到Android平台上。这不仅为开发基于Node.js的移动应用提供了可能性,也为其他开发者提供了一个很好的参考案例。希望这个项目能对你有所帮助!


希望这些信息对你有帮助!如果有任何问题或需要进一步的帮助,请随时联系我。


顶起, 很牛的实现.

他的是0.6的,我的是货真价实0.8.8的,他要两个工程,我这是一个,且用eclipse 能编译,调试.

有編譯好直接可用的版本嗎

Sorry, 暂时不提供,如果编译有问题可以问我

求楼主移植到OpenWRT (MIPS平台)

能跑起express吗?

打算跑路由?

不明觉厉

同求MIPS平台的node.js…

我移植到OpenWRT上啦~就是还没搞定npm~

要将Node.js 0.8.8移植到Android平台上,你可以参考现有的工作并在此基础上进行优化或扩展。目前有一个GitHub项目提供了这方面的支持,具体可以从这里获取:Node.js for Android

以下是一些关键步骤和技术要点:

  1. 准备工作

    • 确保你的开发环境已经配置好,包括Node.js源码、Android NDK等。
    • 你需要使用特定的工具链(如交叉编译器)来编译Node.js以适应Android平台。
  2. 编译Node.js

    • 使用NDK编译Node.js的源代码。这可能涉及到修改Makefile或使用自定义脚本。
    • 示例命令(仅作示意):
      $ ndk-build
      
  3. 打包与部署

    • 将编译好的库文件(如.so文件)和必要的二进制文件一起打包。
    • 在Android设备上创建一个适当的目录结构,并将这些文件部署上去。
  4. 运行Node.js

    • 编写一个简单的启动脚本或使用Java调用Node.js二进制文件。
    • 示例启动脚本:
      #!/bin/bash
      cd /data/local/tmp/nodejs
      ./node
      
  5. 调试与优化

    • 调试可能需要一些特殊的技巧,比如通过ADB连接设备进行远程调试。
    • 针对性能瓶颈进行优化,例如减少不必要的内存分配或提高执行效率。

尽管具体的实现细节可能会根据不同的需求和设备有所差异,但上述步骤应该能够帮助你开始这个移植过程。参考GitHub上的项目可以获取更多详细信息和实际代码示例。

回到顶部