行是知之始,知是行之成。这篇文章主要讲述ionic app 热更新相关的知识,希望能为你提供帮助。
【ionic app 热更新】之前用ionic做了项目,学会了安卓打包,最近要做热更新,本来以为效果没出来,结果发现是我用的内网,哈哈哈哈,来来来,赶紧进入正题,把我的步骤分享给大家!!!!
1.在你的cordova项目下面添加cordova热更新插件
cordova plugin add cordova-hot-code-push-plugin
1.全局添加对应的cli插件
npm install -g cordova-hot-code-push-cli
3.执行 cordova-hcp init
λ
cordova-hcp init
Running init
Please provide: Enter project name (required): jianianhua
Please provide: Amazon S3 Bucket name (required for cordova-hcp deploy):
Please provide: Path in S3 bucket (optional for cordova-hcp deploy):
Please provide: Amazon S3 region (required for cordova-hcp deploy):(us-east-1)
Please provide: ios app identifier:
Please provide: android app identifier:
Please provide: Update method (required):(resume)
Please provide: Enter full URL to directory where cordova-hcp build result will be uploaded:域名/cordovaHp/www/
Project initialized and cordova-hcp.json file created.
If you wish to exclude files from being published, specify them in .chcpignore
Before you can push updates you need to run "cordova-hcp login" in project directory
- 上面控制台输出信息中的最后一个Url选项填你的服务器放置需要热更新代码的地址。我写的是域名 + cordovaHp/www/
- 其他选项可以看cli的介绍
- 执行完之后默认会在cordova项目的www下面生成chcp.json 和chcp.manifest文件
λ
cordova-hcp build
// 下面是控制台输出信息
Running build
Config { name: ‘jianianhua‘,
ios_identifier: ‘‘,
android_identifier: ‘‘,
update: ‘resume‘,
content_url: ‘域名/cordovaHp/www/‘,
release: ‘2020.04.08-10.56.17‘ }
5.在cordova项目下面的config.xml文件下添加代码,和< access origin="*" /> 同级;url地址是你服务器放置chcp.json的地址,我这边是域名 + cordovaHp/www/chcp.json;插件会根据chcp.json里面的值来判断需不需要更新。
...
<
access origin="*" />
<
chcp>
<
config-file url="域名 + cordovaHp/www/chcp.json" />
<
/chcp>
6.注意:
- 然后执行 cordova build 打包你的项目。这样你的项目就可以热更新了。(我自己用的ionic cordova build android --prod --release 打包安卓apk)
- 现在修改cordova项目的js代码测试一下,例如加个alert(‘success‘); 重新打包(ionic cordova build android --prod --release ),然后重新执行cordova-hcp build。
- 把你cordova项目中www上传到服务器放置热更新代码的位置,再打开你的app就会自动更新了。
推荐阅读
- 2020/4/10安卓开发(Spinner下拉框)
- 阿里大牛又一波骚操作,安卓UI开发新技能-Jetpack Compose,绝了
- 移动APP设备锁功能开发中的问题
- 掌握使用gitlab ci构建Android包的正确方式
- 简单的android计分器(使用view modulelive datadata binding)
- hibernate.cfg.xml 中如何设置 hbm.xml 和 Annotations 的 mapping
- google play store的app数据分析
- 安卓逆向之Java学习-03
- Android 多线程3秒执行一次