文章目录

  • 前言
  • 一、蒲公英自动检测更新机制
  • 二、使用步骤
    • 1.添加依赖及仓库地址
    • 2.APP KEY 获取
    • 3.使用方法
  • 总结

前言

平时写点Android 程序都是为了兴趣写的,但是之前给别人写的一个App有Bug,把Bug修复后只能通过QQ或微信发他,现在觉得这种方法实属不可取,要是我写的App 很多人用的话,通过QQ发给他们将是一件非常繁琐的事情。最近准备给公司写个蓝牙App,客户比较大,用的人也自然多。。。
基于以上痛点,于是想着在App里集成自动更新的方法。开干!


提示:以下内容仅供参考,如有不当之处欢迎批评指正。

一、蒲公英自动检测更新机制

以下是官方文档中摘要的

新版本更新机制(Android 2.8.3以后,iOS 2.8.9以后) 新版本蒲公英 SDK 的更新,是根据 本地 App 的
Version和App 本身的 Build来判定更新的。这两个版本号中,任何一个检查到线上版本大于本地版本,都会提示更新。

第一步: 如果本地 App 的 Version小于蒲公英上的 Version,则提示更新。(注意:iOS App 的本地版本号是指
CFBundleShortVersionString, Android 是指 VersionName)

第二步: 如果本地 App 的 Build小于蒲公英上的 Build,则提示更新。(注意:iOS App 的本地版本号是指
CFBundleVersion,Android 是指 VersionCode)

在这两步中,任何一步如果判断出有新版本,都会提示更新。否则不会提示

二、使用步骤

1.添加依赖及仓库地址

第一步:添加仓库地址


maven { url "https://raw.githubusercontent.com/Pgyer/mvn_repo_pgyer/master" }


第二步:添加依赖

implementation 'com.pgyersdk:sdk:3.0.10'


第三步:添加所需权限

    <!-- 必选--><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 获取网络状态 --><uses-permission android:name="android.permission.INTERNET" /> <!-- 网络通信--><!-- 用户手机设置中允许未知来源安装包安装状态为关;--><!-- Android8.0 以后,如果要安装 apk 需要额外添加权限:--><uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 读写sdcard,storage等等 -->

如图:

2.APP KEY 获取

第一步:在蒲公英平台上传Android APK 第一个版本,以便于获取APP KEY

提示:该APK需签名打包。

如图:

第二步:上传完成后填写应用信息
如图:

第三步:发布应用

第四步:发布成功后即可查看APP KEY
如图:

3.使用方法

第一步:在myAplication中添加以下方法,其中 Pgyer.setAppId方法中添加的是APP KEY

package com.Young.demo;import android.app.Application;
import android.content.Context;import com.pgyersdk.Pgyer;
import com.pgyersdk.PgyerActivityManager;
import com.pgyersdk.crash.PgyCrashManager;
import com.pgyersdk.crash.PgyerCrashObservable;
import com.pgyersdk.crash.PgyerObserver;public class myAplication extends Application {@Overridepublic void onCreate() {super.onCreate();PgyCrashManager.register();PgyerCrashObservable.get().attach(new PgyerObserver() {@Overridepublic void receivedCrash(Thread thread, Throwable throwable) {}});PgyerActivityManager.set(this);}@Overrideprotected void attachBaseContext(Context context) {super.attachBaseContext(context);Pgyer.setAppId("XXXXXXXX");}}

如图:

第二步:在MainActivity中添加以下方法

    /** 新版本 **/new PgyUpdateManager.Builder().setForced(false)              //设置是否强制更新.setUserCanRetry(false)        //失败后是否提示重新下载.setDeleteHistroyApk(true)     // 检查更新前是否删除本地历史 Apk.register();

如图:

第三步:将刚才上传到蒲公英的APP APK 安装到手机上,一个简单Hello World

如图:

第四步:提高版本,改点东西,再签名打包

提示:签名证书和刚才那个一样。

如图:

如图:

第五步:在蒲公英平台更新应用上传新版APK,填写应用信息后发布

如图:

第六步:重新打开手机上的APP就可以检测更新了

如图:APP 重启后自动检测更新

如图:安装新版本

如图:安装成功

如图:更新成功!完美

总结

已上就是通过蒲公英实现APP 自动检测更新的方法。
好久都没写博客了,突然感觉有点生疏了,第一次用Markdown 写博客感觉是挺不错的。
争取后面有时间多写写学习总结。

觉得不错的话,点个赞吧【手动狗头】

源码:https://gitee.com/wind5280/android-demo.git

Android App通过蒲公英实现更新相关推荐

  1. 利用蒲公英自动更新APP及其更新机制

    一.蒲公英基础使用方法 1.在蒲公英上注册应用获取App Key App Key:唯一标识一个应用的 Key,在蒲公英上的每一个 App 都有一个唯一的 App Key,开发者可以在应用管理页面首页查 ...

  2. android 版本更新原理,蒲公英 - 文档中心 - SDK 自动更新机制

    准备知识 蒲公英的 iOS SDK 和 Android SDK,都支持自动版本更新的功能,本文说明了蒲公英 SDK 自动更新的机制. 阅读本文,需要先明白 App 的版本号机制,以及蒲公英的自增 Bu ...

  3. android app 自动更新,AndroidUpdateDemo

    Android课程-App更新策略 @(Android) 第一节 课程介绍 概述 App更新是应用当中很常见的一个功能,基本上联网的app都应该具备这样的功能,对于更新迭代比较快速的产品,应用更新升级 ...

  4. Android App自动更新解决方案(DownloadManager)

    Android App自动更新解决方案(DownloadManager) 参考文章: (1)Android App自动更新解决方案(DownloadManager) (2)https://www.cn ...

  5. android通知栏应用程序更新,Android App自动更新之通知栏下载

    本文实例为大家分享了Android App自动更新通知栏下载的具体代码,供大家参考,具体内容如下 版本更新说明 这里有调用UpdateService启动服务检查下载安装包等 1. 文件下载,下完后写入 ...

  6. Android APP在线自动更新安装

    一.Android App的在线更新,主要分为热更新和一般更新,热更新是指下载修改的部分即可,一般更新是将整个安装包下载下来进行安装.本文主要探讨一般更新方法. 流程:(1)调用接口获取服务器内的AP ...

  7. Android APP热更新中的插件化(Hook技术:反射或动态代理),Demo (2)

    修改AAPT,资源分区,用于Android插件化- https://github.com/BaoBaoJianqiang/AAPT -- Android下的挂钩(hook)和代码注入(inject) ...

  8. android app检测更新版本,《Android APP应该有的东西》之功能篇:版本检测更新

    <Android APP该有的东西>之功能篇:版本检测更新 自从友盟的自动更新下线之后,一大批app选择了自己写更新逻辑.是的,这里的逻辑并不复杂,完全可以自己写,但是不复杂不代表不麻烦, ...

  9. android app 自动更新,app升级项目,新增强制更新(可静默),支持热更新(wgt),可支持高版本安卓系统...

    pure-updater 一个可以用的自动更新方案 经测试可支持 Android 9.0 已支持热更新 已支持静默的强制更新 如果您觉得还可以的话那就点个五星吧!谢谢! 已测试 android 8.0 ...

最新文章

  1. Spring Boot-Spring Tool Suit + Gradle 构建第一个Spring Boot 项目01
  2. 【转】采购订单行项目检查增强
  3. sympy科学计算器
  4. 织梦自定义图片字段和缩略图一样_织梦图片集模型自定义图片字段调用
  5. 解决linux yum无法安装mysql
  6. 51NOD 1088 最长回文子串1089 最长回文子串 V2(Manacher算法)
  7. 打印工资条怎么做到每个人都有表头明细_抖音百万点赞!2018年最火的5个Excel骚操作,你都会吗?...
  8. 职场上别人只做不说的潜规则
  9. 微信大改版,更新前必看的4个东西
  10. 注册表更改计算机语言为韩语,Windows10韩语语言包(Win10系统语言修改助手)V1.0 官方版...
  11. Spring基础详解
  12. 输入年份月份判断是平年还是闰年及这个月有多少天
  13. ipa包安装到苹果手机中的几种方式——Qt for IOS
  14. TLS Lab(Transport Layer Security Lab,SEED实验)基于PKI实验内容进行中间人攻击实验
  15. 青果教务系统php源码,使用PHP 的 curl 爬取 青果教務系統 課表
  16. 基于stm32的减速直流电机PID算法控制
  17. java实现第六届蓝桥杯分机号
  18. 狂野飙车显示无法连接服务器,狂野飙车8:极速凌云无法连接服务器是什么原因...
  19. Win10十二月更新系统讲了什么?
  20. php页面静态化,ob缓存方法

热门文章

  1. 微信小程序video组件/腾讯视频插件,禁止拖动进度条,使用遮罩层的方式实现
  2. java.sql.SQLException: The server time zone value '???ú±ê×??±??' is unrecognized or represents 解决方法
  3. 11.7亿、苹果仅20%、1/4的时间看短视频...关于互联网,你必须知道的几个数字......
  4. 【前端】【html5/css3】前端学习之路(二)(CSS3新选择器/CSS3盒模型/CSS3过渡效果)
  5. Python实战项目23个实战小项目小程序简单
  6. Ubuntu20.04部署ntp服务
  7. 魅族android不兼容Android,魅族17系列彻底跟上时代,搭载基于Android 10的Flyme 8.1系统...
  8. Oracle sql大于和小于号的转义写法
  9. 笔记本实现Win10+Ubuntu双系统(超详细)
  10. Hibernate5的学习笔记(二)