自动更新
添加插件
cordova plugin add cordova-plugin-app-update
cordova-plugin-app-update
插件依赖于cordova-plugin-appversion
插件,故会自动安装cordova-plugin-appversion
插件
调用脚本 app.js
var app = {initialize: function() {
this.bindEvents();},bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);},onDeviceReady: function() {
checkAppUpdate();}
};function checkAppUpdate() {
var updateUrl = serverURL+"remote-server-apk/version.xml";window.AppUpdate.checkAppUpdate(onSuccess, onFail, updateUrl);var me = this;function onFail() {
//console.log('fail', JSON.stringify(arguments), arguments);}function onSuccess() {
$.alert(JSON.stringify(arguments));//console.log('success', JSON.stringify(arguments), arguments);me.innerHTML+="<br/>request-completed";}
}
app.initialize();
.html引用依赖脚本
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/app.js"></script>
注意cordova.js
文件与.html文件的相对位置
<div class="app"><h2><span>Version Code: </span><span id='version'></span></h2><div><h3>Update URL:</h3><textarea id="updateurl"></textarea></div><h1><a href="javascript:void(0)" id='check'>Check App Update</a></h1><!-- <div id="deviceready" class="blink"><p class="event listening">Connecting to Device</p><p class="event received">Device is Ready</p></div> --></div>
注意此处的class=”app”
获取版本信息
版本名称:AppVersion.version
版本代码:AppVersion.build
版本发布
version.xml文件中的内容如下,version
标签的值为版本代码,切不可与版本名称混淆,利用AppVersion.build
可获取
<update><version>10000</version><name>demo</name><url>serverURL/remote-server-apk/android-debug.apk</url>
</update>
设置版本名称
在config.xml的widget
标签中设置version属性的属性值
显示版本名称
window.onload=function(){
$("#version").text(AppVersion.version);
}
异常处理
在编译cordova-plugin-app-update-demo
项目时报如下错误
解决方式:先移除android platform 然后在添加android platform
移除插件时报错
参考资料
cordova-plugin-app-update
cordova-plugin-app-update-demo
cordova-plugin-appversion