该示例中使用到了Apache Ant工具,请提前下载安装
###工程创建流程:
- 创建web工程:
egret create puzzle [--type game] - 创建ios工程:
egret create_app puzzle_ios -f puzzle -t tools/egret-ios-support - 创建android工程:
egret create_app puzzle_android -f puzzle -t tools/egret-android-support
###目录结构:
- puzzle:h5工程目录
- puzzle_ios:ios工程目录
- puzzle_android:android工程目录
- server:本地静态文件服务器,用来为app提供runtime(包含app)热更新测试入口
- egret-ios-support:ios打包工具,本例中使用的版本为3.1.3
- egret-android-support:android打包工具,本例中使用的版本为3.1.3
- build.properties:工程基本配置
- android.properties:安卓打包配置
- ios.properties:ios打包配置
- build.xml:ant打包配置,封装了
android与ios两个任务
对h5代码修改后调用egret build puzzle --runtime native -e,将修改后的内容同步到ios及android工程中
###发布ios及android包
- 调用
egret publish puzzle --runtime navie -e打包native项目,此时android与ios工程中的资源会被同步为正式版资源 - 修改文件夹内的三个.properties文件:
- build.properties:项目基本配置
- android.properties:android发包配置
- ios.properties:ios发包配置
- 命令行调用
ant android或ant ios进行打包,最终会在该目录下生成.apk或.ipa文件
注意:build.properties中name值请勿使用中文,否则可能因编码问题导致app无法正常运行(该情况在android中被发现,ios未知)
###安卓热更新测试:
- 修改android工程的java入口类,修改
setLoaderUrl(0)为setLoaderUrl(1) - 修改
setLoaderUrl方法中的case 1分支逻辑,使loaderUrl值赋值为本地服务中提供的runtime入口,此例中为http://10.0.11.44:8080/config.json - 修改config.json文件中的loaderUrl与updateUrl值,该文件为runtime入口配置文件,参考egret官网说明
- 启动本地测试服务,进入到egret-app/server目录,命令行调用:
node index
参考资料:
如果您有任何的建议,请联系我:kongcong@egret.com | 363959579@qq.com