Hybird APP混合开发升级方法
hybrid app开发的优势优点不用说了,但在这里,我们将重点关注混合系统中模块包的升级过程。
服务器维护压缩包的版本列表
Apppid 表示每个模块的唯一 ID
版本表示相应模块的版本号,递增
URL 表示相应模块包的最新版本号的下载地址
MD5 表示包的 MD5 值
Ps:的每个模块对应一个 appId,该模块代表 APP 混合 HTML 5 的子元素,一个模块集成了一个应用程序的一类页面函数。每个模块的目录结构如下:
第一步是将前端代码打包到一个压缩包中,并编写一个自动打包脚本
#切换到项目目录 cd erciyuan_h5 #更新最新代码 git pull cd src var=$1 var=${var//,/ } for element in $var do #切换到相应模块目录 cd $element #执行前端webpack打包命令,在css目录和js目录里分别生成template.css template.js webpack -p #向服务器获取当前模块的最新版本号 version=`curl "http://hostname/hybirdVersion?appid=$element"` echo $version #生成zip包名 module={element}_version rm -rf $module #将前端资源文件打包 mkdir $module cp -r image $module mkdir ${module}/js mkdir ${module}/css mv css/template.css ${module}/css mv js/template.js ${module}/js cp -r image $module cp template.html $module zip -r module.zip {module} #获取zip包的md5值 md5=`md5sum {module}.zip|awk -F ' ' '{print1}'` echo $md5 #上传zip包至nos curl -X POST -F "zip=@ module.zip""http://hostname/api/v1/upload/webpack/zip?zipId= {module}.zip" #更新服务器包管理列表 curl "http://hostname/hybirdStore?appid=1&module={module}.zip&MD5={md5}&v={version}" #包备份 cp ${module}.zip /home/hzwangbei/package #删除本地zip包相关文件 rm -f ${module}.zip rm -rf ${module} echo -e "\nstop succeed\nDownload Url: http://acs.nos.netease.com/${module}.zip" done
zip包生成上传后,app就要去更新了,更新协议如下:
App 首先将本地维护的最新模块和版本列表上传到服务器。服务器逐一比较服务器的 zip 包版本号,检测需要更新的 zip 包,并在还原器后将其返回给 APP。
在APP应用程序获得需要更新的 zip 包模块列表后,下载相应的 zip 包,验证 zip 包的 MD5 值,解压缩并重写旧的本地模块,同时更新本地维护的模块版本列表。
大概流程如下:
Hybird APP混合开发升级方法相关推荐
- Hybird App混合移动应用开发技术整体解决方案,速来围观!
摘要 由于H5的逐步普及,混合移动应用开发变的炙手可热,其主要的开发语言就是JavaScript,这在很多人看来无论是在性能和安全上来讲,并不被大家所看好,所今天就来谈一下如何对混合应用做优化以及加密 ...
- h5逻辑_H5+app 混合开发
目录 app分类 h5与原生进行交互 [1] 判断h5页面打开的环境是ios/android [2] JS调用ios/android的方法 js调用ios的方法 js调用android的方法 区别 总 ...
- 谈谈Android App混合开发
推酷 文章 站点 主题 公开课 活动 客户端 荐 周刊 登录 谈谈Android App混合开发 时间 2015-08-25 20:13:43bxbxbai 原文 http://bxbxbai.gi ...
- App混合开发-前端小白理解
什么是混合app 混合开发的App(Hybrid App)就是嵌一个轻量级的浏览器,一部分原生的功能改为Html5来开发,这部分功能不仅能够在不容升级的情况下动态更新,而且可以在Android或iOS ...
- Hybrid APP混合开发的一些经验和总结
写在前面: 转载自 --->博客园 KINGPLUS 1.混合开发概述 Hybrid App主要以JS+Native两者相互调用为主,从开发层面实现"一次开发,多处运行"的 ...
- Hybrid APP 混合开发模式的选择之路(三)
原文出处:http://www.cnblogs.com/dailc/p/5930231.html 现在概念上的APP诞生是在Google推出Android,Apple推出iOS后,从这时候开始,就有了 ...
- Hybrid APP混合开发的了解和其他两类app的对比
以前我都是用java做网站的,最近公司需要开发一个app,但是公司又没有Android工程师,所以这个任务就被我们伟大的技术总监分配给我做了,下面我就来解释下目前的app市场行情,由于我们的app只是 ...
- app混合开发之微信分享设置
在app内混合开发中,分享页面是必不可少的,但是分享到微信时二次分享就会没有分享的设置,这时候就需要自己配置微信二次分享,使用说明请查看微信JS-SDK说明文档 //API.jsimport axio ...
- 简单介绍app软件开发的方法
找软件开发公司,除了要了解其app开发报价,相应的软件开发知识也需要了解,比如app开发方法就分为好几种.下面汇动信息为你分析app开发方式的差异,企业在选择软件开发公司时需要掌握相关的软件开发知识. ...
最新文章
- 为什么阿里巴巴不建议在for循环中使用+进行字符串拼接
- Qt 控制watchdog app hacking
- 硬盘安装win8系统方法汇总
- linux-shell命令之mount【挂载命令】
- native.loadlibrary获取路径不对_【Python专题(三)】Python模块导入与路径管理
- 利用STM32制作红外测温仪之硬件设计
- mysql存储过程实例实现查询_Mybatis应用mysql存储过程查询数据实例
- 华为的鸿蒙系统是安卓吗,华为鸿蒙,一个本属于2025年的产品
- windows server2003的邮箱服务器安装详细步骤
- 在线的棋牌类网络游戏java服务端实现
- pycharm复制一行
- wireshark抓取未加密聊天数据
- webpack 打包错误
- 二叉树的前序遍历,中序遍历,后序遍历
- 中国科学研成都计算机,中国科学院成都分院
- 阿里云二级域名解析教程
- 海洋洋流图绘制 html5,虚拟现实系统中海洋洋流可视化的研究与实现
- python安装第三方库 找不到、匹配不到库的问题(多目标优化)
- mac下载maven详细步骤
- 惊喜!做嵌入式UI还能用javascript