Chinaunix首页 | 论坛 | 博客
  • 博客访问: 235041
  • 博文数量: 43
  • 博客积分: 391
  • 博客等级: 二等列兵
  • 技术积分: 352
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-17 11:29
个人简介

现在的我,不埋怨谁,不嘲笑谁,也不羡慕谁。阳光下灿烂,风雨中奔跑,做自己的梦,走自己的路。一切都好,真的,都很好。

文章分类

全部博文(43)

文章存档

2018年(2)

2017年(1)

2015年(2)

2014年(27)

2013年(1)

2012年(10)

我的朋友

分类: Android平台

2017-10-15 17:39:14


一、 准备工作
    环境自行配置:
    ubuntu 16.04, nodejs,nginx, jdk, android studio 2.3.3, android sdk等

二、 安装cordova,
三、创建android项目并增加相关插件与配置
    1. 创建项目
    cordova create TestHotCodeUpdate com.test.example
    其中,com.test.example为包名,可以省略使用默认。
    2. 进入TestHotCodeUpdate,增加android平台:
    cordova platform add android
    3. 安装热更新插件
    cordova plugin add cordova-hot-code-push-plugin,然后安装CLI,我是没有安装成功,直接拷贝一个过来的,, 密码: eeac
    下载后,放到你的node目录中,因为我的node是手动安装的,具体路径:/usr/local/node-v6.11.4-linux-x64/lib/node_modules,并解压cordova-hot-code-push-cli,将bin中的cordova-hcp软链到/usr/local/node-v6.11.4-linux-x64/bin目录下,再软链到/usr/local/bin/cordova-hcp,这样整个用户均可用。
    4. 修改配置文件config.xml,加入以下配置:

  1. <chcp>
  2.     <config-file url="/chcp.json"/><!--更新地址-->
  3.     <auto-download enabled="true"/><!--是否自动下载-->
  4.     <auto-install enabled="true"/><!--是否自动更新-->
  5.     <native-interface version="1"/><!--最小版本号,整数-->
  6. </chcp>
    5. 在TestHotCodeUpdate/platforms/android/assets目录下加入配置模板(cordova-hcp.json)内容如下:
  1. {
  2.   "name": "TaskList",
  3.   "update": "start",
  4.   "autogenerated": true,
  5.   "min_native_interface": "1",
  6.   "content_url": ""
  7. }
    其中,update值:now:有更新则立即更新;start:应用启动时更新(默认);resume:从后台切换返回到应用时更新;本次使用默认配置,我也推荐使用start配置。而且经过测试这三种其实效果是基本一样,都要更新完成后重启应用。配置好后,使用步骤3中的cordova-hcp,进行build (cordova-hcp buil),生成chcp.json(更新配置)与chcp.manifest(文件清单)
     6. 导入android studio
     导入时注意,选择路径为:TestHotCodeUpdate/platforms/android,目录结构如图:
        
      
将应用部署到android手机或 模拟器中,如上图
四、web服务器搭建
    本文使用的是nginx,如何搭建具体请参考 或
     安装web服务完成后,在nginx根目录创建:~/nginx/html/cordova-hot-code-push/TestHotCodeUpdate 相关目录,并将项目中的www整个目录放到TestHotCodeUpdate目录中

五、如何使用?
    在步骤6时,已经安装好app到模拟器了。此时,我们仅需要修改下www中的页面,并cordova-hcp build,然后将www目录重新放到nigix的TestHotCodeUpdate目录
    我们现在把index.html页面进行修改成经典编程时的

  1. <h1>Hello world!</h1>
然后打开app,下载完成后,再重新打开,此时已经更新好了。如下:

此方式不能进行永久更新,只能临时更新,也就是如果用户在settings中把应用的缓存数据清空了,又会变成原来的样子。
谢谢,转发请标注出处。


阅读(826) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~