# FastUpdate **Repository Path**: Java_in_action/FastUpdate ## Basic Information - **Project Name**: FastUpdate - **Description**: 快速检测更新App - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-05-27 - **Last Updated**: 2023-04-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # UpdateAppUtils1.4 ### 一行代码,快速实现app在线下载更新
A simple library for Android update app ![](update.gif) ## 集成 compile引入 ``` dependencies { compile 'com.teprinciple:updateapputils:1.4' } ``` ## 使用 更新检测一般放在MainActivity或者启动页上, 在请求服务器版本检测接口获取到versionCode、versionName、最新apkPath后调用。 #### 快速使用 ``` UpdateAppUtils.from(this) .serverVersionCode(2) //服务器versionCode .serverVersionName("2.0") //服务器versionName .apkPath(apkPath) //最新apk下载地址 .update(); ``` #### Kotlin代码调用完全一样 ``` private fun update() { val apkPath:String = "http://issuecdn.baidupcs.com/issue/netdisk/apk/BaiduNetdisk_7.15.1.apk" UpdateAppUtils.from(this) .serverVersionCode(2) .serverVersionName("2.0") .apkPath(apkPath) .update() } ``` #### 更多配置使用 ``` UpdateAppUtils.from(this) .checkBy(UpdateAppUtils.CHECK_BY_VERSION_NAME) //更新检测方式,默认为VersionCode .serverVersionCode(2) .serverVersionName("2.0") .apkPath(apkPath) .showNotification(false) //是否显示下载进度到通知栏,默认为true .updateInfo(info) //更新日志信息 String .downloadBy(UpdateAppUtils.DOWNLOAD_BY_BROWSER) //下载方式:app下载、手机浏览器下载。默认app下载 .isForce(true) //是否强制更新,默认false 强制更新情况下用户不同意更新则不能使用app .update(); ``` #### 说明 ``` 1、UpdateAppUtils提供两种更新判断方式 CHECK_BY_VERSION_CODE:通过versionCode判断,服务器上versionCode > 本地versionCode则执行更新 CHECK_BY_VERSION_NAME:通过versionName判断,服务器上versionName 与 本地versionName不同则更新 2、UpdateAppUtils提供两种下载apk方式 DOWNLOAD_BY_APP:通过App下载 DOWNLOAD_BY_BROWSER:通过手机浏览器下载 ``` #### 关于适配Android6.0、Android7.0 ##### 适配Android7.0 1、注册provider ``` /provider> ``` 2、新建file_paths.xml文件 ``` ``` 可参见demo中的代码 如果你的版本没有适配到Android7.0 为了不进行上述操作,可以直接这样设置: ``` UpdateAppUtils.needFitAndroidN(false) ``` ##### 适配Android6.0 关于6.0适配,请自行在调用API时申请WRITE_EXTERNAL_STORAGE权限,可以参考demo中的代码 #### 更新日志 1.4
使用[filedownloader](https://github.com/lingochamp/FileDownloader)替换DownloadManager,避免部分手机DownLoadManager无效,同时解决了重复下载的问题,且提高了下载速度
增加接口UpdateAppUtils.needFitAndroidN(false),避免不需要适配7.0,也要设置FileProvider

1.3.1
修复部分bug,在demo中加入kotlin调用代码

1.3
增加接口方法 showNotification(false)//是否显示下载进度到通知栏;
updateInfo(info)//更新日志信息;下载前WiFi判断。

1.2
适配Android7.0,并在demo中加入适配6.0和7.0的代码

1.1
适配更多SdkVersion