美文网首页Ionic Frameworkionic开发Ios@IONIC
cordova-plugin-app-update插件使用心得

cordova-plugin-app-update插件使用心得

作者: 小圈儿33 | 来源:发表于2019-04-23 19:38 被阅读0次

cordova-plugin-app-update插件使用心得

以下是针对该插件在android平台下面的应用的心得体会

  • 使用过程
  1. 执行一下命令安装应用更新的插件,版本获取的插件与打开系统浏览器的插件
$cordova plugin add cordova-plugin-app-update --save

//下面两个插件的安装跟ionic的版本相关,参考我的另一篇文章
$ ionic cordova plugin add cordova-plugin-app-version
$ npm install --save @ionic-native/app-version

$ ionic cordova plugin add cordova-plugin-inappbrowser
$ npm install --save @ionic-native/in-app-browser
  1. 命令行安装的app-udate插件直接使用会报Application Err的错误,后来根据No刹那光辉ionic3 程序更新的文档,将插件先下载到本地,然后修改了插件中DownloadHandler.java文件
    修改后:
 // 通过Intent安装APK文件
 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
     LOG.d(TAG, "Build SDK Greater than or equal to Nougat");
// String applicationId = (String) BuildHelper.getBuildConfigValue(cordova.getActivity(), "APPLICATION_ID");
     String applicationId = (String) BuildHelper.getBuildConfigValue((Activity) mContext, "APPLICATION_ID");
     Uri apkUri = FileProvider.getUriForFile(mContext, applicationId + ".appupdate.provider", apkFile);
     Intent i = new Intent(Intent.ACTION_INSTALL_PACKAGE);
     i.setData(apkUri);
     i.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
     mContext.startActivity(i);
  }else{
     LOG.d(TAG, "Build SDK less than Nougat");
     Intent i = new Intent(Intent.ACTION_VIEW);
     i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
     i.setDataAndType(Uri.parse("file://" + apkFile.toString()), "application/vnd.android.package-archive");
     mContext.startActivity(i);
       }
  1. 在服务器端放置一份配置文件(假设路径是http://localhost:8080/Untitled-1.xml),格式在插件的README.md中可以找到,如下
<update>
    <version>302048</version>
    <name>name</name>
    <url>http://localhost:8080/android.apk</url>
</update>
  • 如果应用有更新,首先需要修改这个xml文件中的version数字,然后替换url路径里面的apk文件。
  • 注意,路径是写死的,所以每次的apk都要放在url这个路径下,如果有更改,则xml文件也要相应的修改。
  • version标签中的数字与应用的版本号格式不同,需要通过获取版本号插件中的getVersionCode方法将应用的版本号转换而来,如下:
 var versionCode:string = "";
 this.appVersion.getVersionCode().then((value: string) => {
            versionCode = value;
            console.log('getVersionNumber:' + value);
  }).catch(err => {
            console.log('getVersionNumber:' + err);
  });

versionCode就是需要填入的数字

  1. 调用方法如下:
let str ="http://localhost:8080/Untitled-1.xm"
this.appUpdate.checkAppUpdate(str).then(data => {
       console.log(data);
 }, (err) => {
       console.log(err);
 });

更改服务器上面的xml文件的版本号,来实现自动更新的功能。

相关文章

  • cordova-plugin-app-update插件使用心得

    cordova-plugin-app-update插件使用心得 以下是针对该插件在android平台下面的应用的心...

  • Android光速打包

    快速打包插件 packer-ng-plugin 使用心得 首先放出这个工具的Github地址:https://gi...

  • laravel excel使用笔记

    插件地址 官网链接github地址 使用心得 导入,导出基本功能 使用Excel::create只能重新创建文件,...

  • 2015年10月12日

    今天和公司的前端一起研究页面,有点心得,标记下新学的技能: 引出:优化新插件的页面,表单页面需要调用时间插件,使用...

  • Gradle中插件的使用

    目录 插件的类型 插件的类型分为:1.脚本插件2.二进制插件 插件的使用 1.脚本插件的使用 脚本插件的使用方法如...

  • 2、快捷键添加方法的注释

    一、使用插件Goanno,插件市场搜索:Goanno 二、使用插件 打开 Help -> Edit Custom ...

  • IDEA破解

    配置插件 配置仓库 下载插件 使用插件

  • 在vue中使用图片懒加载vue-lazyload插件

    在vue中使用图片懒加载vue-lazyload插件 使用方式 使用vue的 vue-lazyload 插件插件地...

  • vue-parallaxy插件使用心得

    1、这个插件实现的是视差滚动效果 2、在使用的时候通过自定义属性修改插件的默认值 3、用vue ssr开发时要将插...

  • Vue 插件

    插件,通常用来为Vue 添加全局功能。引用官方文档Vue插件 使用插件 通过全局方法Vue.user()使用插件。...

网友评论

    本文标题:cordova-plugin-app-update插件使用心得

    本文链接:https://www.haomeiwen.com/subject/hjnbqqtx.html