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混合开发升级方法相关推荐

  1. Hybird App混合移动应用开发技术整体解决方案,速来围观!

    摘要 由于H5的逐步普及,混合移动应用开发变的炙手可热,其主要的开发语言就是JavaScript,这在很多人看来无论是在性能和安全上来讲,并不被大家所看好,所今天就来谈一下如何对混合应用做优化以及加密 ...

  2. h5逻辑_H5+app 混合开发

    目录 app分类 h5与原生进行交互 [1] 判断h5页面打开的环境是ios/android [2] JS调用ios/android的方法 js调用ios的方法 js调用android的方法 区别 总 ...

  3. 谈谈Android App混合开发

    推酷 文章 站点 主题 公开课 活动 客户端 荐 周刊 登录 谈谈Android App混合开发 时间 2015-08-25 20:13:43bxbxbai 原文  http://bxbxbai.gi ...

  4. App混合开发-前端小白理解

    什么是混合app 混合开发的App(Hybrid App)就是嵌一个轻量级的浏览器,一部分原生的功能改为Html5来开发,这部分功能不仅能够在不容升级的情况下动态更新,而且可以在Android或iOS ...

  5. Hybrid APP混合开发的一些经验和总结

    写在前面: 转载自 --->博客园  KINGPLUS 1.混合开发概述 Hybrid App主要以JS+Native两者相互调用为主,从开发层面实现"一次开发,多处运行"的 ...

  6. Hybrid APP 混合开发模式的选择之路(三)

    原文出处:http://www.cnblogs.com/dailc/p/5930231.html 现在概念上的APP诞生是在Google推出Android,Apple推出iOS后,从这时候开始,就有了 ...

  7. Hybrid APP混合开发的了解和其他两类app的对比

    以前我都是用java做网站的,最近公司需要开发一个app,但是公司又没有Android工程师,所以这个任务就被我们伟大的技术总监分配给我做了,下面我就来解释下目前的app市场行情,由于我们的app只是 ...

  8. app混合开发之微信分享设置

    在app内混合开发中,分享页面是必不可少的,但是分享到微信时二次分享就会没有分享的设置,这时候就需要自己配置微信二次分享,使用说明请查看微信JS-SDK说明文档 //API.jsimport axio ...

  9. 简单介绍app软件开发的方法

    找软件开发公司,除了要了解其app开发报价,相应的软件开发知识也需要了解,比如app开发方法就分为好几种.下面汇动信息为你分析app开发方式的差异,企业在选择软件开发公司时需要掌握相关的软件开发知识. ...

最新文章

  1. 为什么阿里巴巴不建议在for循环中使用+进行字符串拼接
  2. Qt 控制watchdog app hacking
  3. 硬盘安装win8系统方法汇总
  4. linux-shell命令之mount【挂载命令】
  5. native.loadlibrary获取路径不对_【Python专题(三)】Python模块导入与路径管理
  6. 利用STM32制作红外测温仪之硬件设计
  7. mysql存储过程实例实现查询_Mybatis应用mysql存储过程查询数据实例
  8. 华为的鸿蒙系统是安卓吗,华为鸿蒙,一个本属于2025年的产品
  9. windows server2003的邮箱服务器安装详细步骤
  10. 在线的棋牌类网络游戏java服务端实现
  11. pycharm复制一行
  12. wireshark抓取未加密聊天数据
  13. webpack 打包错误
  14. 二叉树的前序遍历,中序遍历,后序遍历
  15. 中国科学研成都计算机,中国科学院成都分院
  16. 阿里云二级域名解析教程
  17. 海洋洋流图绘制 html5,虚拟现实系统中海洋洋流可视化的研究与实现
  18. python安装第三方库 找不到、匹配不到库的问题(多目标优化)
  19. mac下载maven详细步骤
  20. 惊喜!做嵌入式UI还能用javascript

热门文章

  1. 基于太赫兹的危险品智能识别系统
  2. 几款市面上常见的区块链APP,你知道多少?
  3. 《2016年度中国互联网巴士行业研究报告》发布
  4. mongodb 字符串 截取_字符串截取
  5. 女性手机行业投资暗流涌动 朵唯或成黑马
  6. java数组创建方式
  7. lia人是什么意思_LIA感慨过去的辛苦却遭断章取义,真挚的感动不应该被误解
  8. 【转载】曾经有一份真挚的爱情
  9. logrotate简介
  10. Cad 安装错误 1606 无法访问网络位置setup