一,添加热更新需要的文件
1. 在项目根目录添加 version_generator.js 文件

version_generator.js 内容如下:
/** * 此模块用于热更新工程清单文件的生成 */ var fs = require('fs'); var path = require('path'); var crypto = require('crypto'); var manifest = { //服务器上资源文件存放路径(src,res的路径) packageUrl: 'http://192.168.200.117:8000/XiaoMing/remote-assets/', //服务器上project.manifest路径 remoteManifestUrl: 'http://192.168.200.117:8000/XiaoMing/remote-assets/project.manifest', //服务器上version.manifest路径 remoteVersionUrl: 'http://192.168.200.117:8000/XiaoMing/remote-assets/version.manifest', version: '1.0.0', assets: {}, searchPaths: [] }; //生成的manifest文件存放目录 var dest = 'assets/'; //项目构建后资源的目录 var src = 'build/jsb-link/'; /** * node version_generator.js -v 1.0.0 -u http://your-server-address/tutorial-hot-update/remote-assets/ -s native/package/ -d assets/ */ // Parse arguments var i = 2; while ( i < process.argv.length) { var arg = process.argv[i]; switch (arg) { case '--url' : case '-u' : var url = process.argv[i+1]; manifest.packageUrl = url; manifest.remoteManifestUrl = url + 'project.manifest'; manifest.remoteVersionUrl = url + 'version.manifest'; i += 2; break; case '--version' : case '-v' : manifest.version = process.argv[i+1]; i += 2; break; case '--src' : case '-s' : src = process.argv[i+1]; i += 2; break; case '--dest' : case '-d' : dest = process.argv[i+1]; i += 2; break; default : i++; break; } } function readDir (dir, obj) { var stat = fs.statSync(dir); if (!stat.isDirectory()) { return; } var subpaths = fs.readdirSync(dir), subpath, size, md5, compressed, relative; for (var i = 0; i < subpaths.length; ++i) { if (subpaths[i][0] === '.') { continue; } subpath = path.join(dir, subpaths[i