关于Cordova热更新的一些见解(android混合开发)
2016-07-18 17:33
375 查看
最近公司在做hybrid的APP项目,用的是Cordova,需要把一些html,js,cs,图片文件存到本地目录,还需要支持热更新,就是app启动的时候如果发现服务器的html版本更高,就只需要单独更新某些html文件,不需要全部更新。
一开始我是把文件存放在 assets文件夹下的,如图
![](https://img-blog.csdn.net/20160718173852422?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
但是我们知道,assets文件夹在android系统只是可读的,不能写,所以如果把文件放入assets文件夹,肯定不行,不能支持热更新。但是网上也没有人提过这个问题,都是把文件放入这个文件夹。
于是,我开始研究能不能把文件存入sdcard。我把文件压缩,放置assets文件夹,APP第一次启动的时候解压至sdcard,如图:
![](https://img-blog.csdn.net/20160718174345440?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
文件路径从"file:///android_asset/www/index.html" 改为 "file:///sdcard/www/index.html"(注意:这里没有做机型适配),测试成功,也可以先从服务器获取新的html文件,支持热更新。
更新前:
![](https://img-blog.csdn.net/20160718175426320?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
更新后:
![](https://img-blog.csdn.net/20160718175511117?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Demo下载:http://pan.baidu.com/s/1dFuPDdf 密码:7hwc
一开始我是把文件存放在 assets文件夹下的,如图
但是我们知道,assets文件夹在android系统只是可读的,不能写,所以如果把文件放入assets文件夹,肯定不行,不能支持热更新。但是网上也没有人提过这个问题,都是把文件放入这个文件夹。
于是,我开始研究能不能把文件存入sdcard。我把文件压缩,放置assets文件夹,APP第一次启动的时候解压至sdcard,如图:
文件路径从"file:///android_asset/www/index.html" 改为 "file:///sdcard/www/index.html"(注意:这里没有做机型适配),测试成功,也可以先从服务器获取新的html文件,支持热更新。
更新前:
更新后:
Demo下载:http://pan.baidu.com/s/1dFuPDdf 密码:7hwc
相关文章推荐
- Android开发方式之Java+html+javascript混合开发
- Windows下使用Apache Cordova开发ANDROID之HelloWorld
- android webview与js交互时遇到的问题解决
- 泡WeX5论坛,就能把钱给挣了! WeX5论坛 金币制启动 -- 让大家帮助大家,让知识变成收益
- 关于cordova/nodejs/npm的坑
- 我用的 cordova 插件
- PhoneGap/Cordova插件开发入门(IOS版)(一)
- Cordova由来
- 问题:onDeviceReady的函数没有触发!!
- 将原生安卓项目封装为cordova插件实例分析
- Cordova热更新可能出现的问题
- phonegap环境搭建
- Cordova与Android之一 Activity跳转
- 手机跨平台开发笔记之Phonegap(cordova)开发(一)
- phonegap2.9 ios提交app 报"ERROR ITMS-90086"错误,如何支持64位ios
- PhoneGap(Cordova)通过插件读取android配置信息
- cordova新建项目