nodejs的二进制包有两种安装方式node-gyp以及node-pre-gyp

这两条命令会写入该包的安装脚本。

node-gyp是使用gyp工具编译源码,因此必须指定交叉编译器(参见http://n8.io/cross-compiling-nodejs-v0.8/)

node-pre-gyp首先考虑从package.json定义的远程地址下载二进制包,若无,则依然交给node-gyp编译

node-pre-gyp指定平台和架构的参数为 --target_platform="" --target_arch=""(参见https://www.npmjs.com/package/node-pre-gyp)

以上已知后写入脚本。

例子:

#设置交叉编译器
export AR=~/node-v0.12.4/android-toolchain/arm-linux-androideabi/bin/ar
export CC=~/node-v0.12.4/android-toolchain/arm-linux-androideabi/bin/gcc
export CXX=~/node-v0.12.4/android-toolchain/arm-linux-androideabi/bin/g++
export LINK=~/node-v0.12.4/android-toolchain/arm-linux-androideabi/bin/g++
#定义需要编译的库列表
m=(hiredis iconv sqlite3)
for i in ${m[*]};
do
cd node_modules/$i
cnpm run-script install --target_platform="android" --target_arch="arm"
cd ../../
done

注意nodejs的版本是否一致,如果因为node版本不一致导致运行时找不到文件请手工修改路径。工具链的生成看最后一段。

最后是node的编译

wget http://nodejs.org/dist/v0.12.4/node-v0.12.4.tar.gz
tar xvf node-v0.12.4.tar.gz
cd node-v0.12.4
sed -i "s/arm-linux-androideabi-4.7/arm-linux-androideabi-4.8/g" android-configure
source ./android-configure ~/android-ndk-r9d
cd android-toolchain/bin
mv python2. oldpython2. && ln -s /usr/bin/python2. python2.
cd ../../
make
~/android-ndk-r9d是ndk的路径
可执行文件为node-v0.12.4/out/Release/node 使用adb push node /data/local/tmp/node 就可以在手机执行

最新文章

  1. PHP实现linux命令tail -f
  2. return Acad::ErrorStatus::eOk引发error C2220: warning treated as error - no 'object' file generated
  3. 【BNUOJ19500】 Matrix Decompressing
  4. 关于SQL SERVER的N前缀的理解
  5. 生成大小为100的数组,从1到100,随机插入,不连续,也不重复[C#]
  6. Codeforces Round #249 (Div. 2) A题
  7. libevent简介 构成
  8. cocostudio导出plist文件
  9. Join的实现步骤 以及连接的概念
  10. jquery ready方法实现原理 内部原理
  11. js数组中的注意
  12. R绘图学习笔记(二)-
  13. animate.css+wow.js页面滚动即时显示动画
  14. PAT1110:Complete Binary Tree
  15. Session执行机制与原理
  16. Win7无法安装程序提示Installer integrity check has failed的解决方法
  17. [转] Web前端开发工程师常用技术网站整理
  18. 【Hadoop学习之十三】MapReduce案例分析五-ItemCF
  19. 编程中,static的用法详解
  20. 在Firefox中发现一个在Linux下查看chm文档的插件

热门文章

  1. 【转】android的编译和运行过程深入分析
  2. Notepad++正则表达式使用
  3. TDD:代码可测试设计
  4. 让IIS支持无后缀名访问
  5. c#数据库连接池Hikari重构升级
  6. 开发一个c#的数据库连接池
  7. 牛客网NOIP赛前集训营-提高组18/9/9 A-中位数
  8. 蚯蚓(noip2016,贪心,单调性)
  9. 如何用hexo搭建个人博客. 亲测有效
  10. ABAP术语-EDI (Electronic Data Interchange)