小绿人显示服务器异常,一行代码帮你搞定Android版本更新

收藏 0

一行代码,快速实现app在线下载更新 A simple library for Android update app

UpdateAppUtils2.0 特点

Kotlin First,Kotlin开发

支持AndroidX

支持Md5签名验证

支持自定义任意UI

适配中英文

适配至Android9.0

通知栏图片自定义

支持修改是否每次显示弹窗(非强更)

支持安装完成后自动删除安装包

UpdateAppUtils2.0功能结构变化巨大,建议使用2.0以上版本;2.0以前版本文档

效果图

b650e66f7ceff23e9f5277ae2522ee10.png

集成

repositories {

jcenter()

}

// Support

implementation 'com.teprinciple:updateapputils:2.1.0'

AndroidX项目

// AndroidX

implementation 'com.teprinciple:updateapputilsX:2.1.0'

使用

下面为kotlin使用示例,Java示例请参考JavaDemo

1、快速使用

UpdateAppUtils

.getInstance()

.apkUrl(apkUrl)

.updateTitle(updateTitle)

.updateContent(updateContent)

.update()

2、多配置使用

// ui配置

val uiConfig = UiConfig().apply {

uiType = UiType.PLENTIFUL

cancelBtnText = "下次再说"

updateLogoImgRes = R.drawable.ic_update

updateBtnBgRes = R.drawable.bg_btn

titleTextColor = Color.BLACK

titleTextSize = 18f

contentTextColor = Color.parseColor("#88e16531")

}

// 更新配置

val updateConfig = UpdateConfig().apply {

force = true

checkWifi = true

needCheckMd5 = true

isShowNotification = true

notifyImgRes = R.drawable.ic_logo

apkSavePath = Environment.getExternalStorageDirectory().absolutePath +"/teprinciple"

apkSaveName = "teprinciple"

}

UpdateAppUtils

.getInstance()

.apkUrl(apkUrl)

.updateTitle(updateTitle)

.updateContent(updateContent)

.updateConfig(updateConfig)

.uiConfig(uiConfig)

.setUpdateDownloadListener(object : UpdateDownloadListener{

// do something

})

.update()

3、md5校验说明

为了保证app的安全性,避免apk被二次打包的风险。UpdateAppUtils内部提供了对签名文件md5值校验的接口; 首先你需要保证当前应用和服务器apk使用同一个签名文件进行了签名(一定要保管好自己的签名文件,否则检验就失去了意义), 然后你需要将UpdateConfig 的 needCheckMd5 设置为true,并在Md5CheckResultListener监听中,监听校验返回结果。具体使用可参考 CheckMd5DemoActivity

UpdateAppUtils

.getInstance()

.apkUrl(apkUrl)

.updateTitle(updateTitle)

.updateContent(updateContent)

.updateConfig(updateConfig) // needCheckMd5设置为true

.setMd5CheckResultListener(object : Md5CheckResultListener{

override fun onResult(result: Boolean) {

// true:检验通过,false:检验失败

}

})

4、自定义UI

UpdateAppUtils内置了两套UI,你可以通过修改UiConfig进行UI内容的自定义; 当然当内部UI模板与你期望UI差别很大时,你可以采用完全自定义UI

5、删除已安装APK

UpdateAppUtils在应用启动时,通过对比当前应用和已下载apk的VersionCode是否相同来判断已下载apk是否已安装; 如果两者VersionCode相同则认为apk已经安装,应被删除。

// 在Application或者MainActivity中调用,以达到安装成功启动后删除已安装apk

UpdateAppUtils.getInstance().deleteInstalledApk()

Api说明

1、UpdateAppUtils Api

api说明默认值必须设置fun apkUrl(apkUrl: String)更新包服务器urlnulltrue

fun update()UpdateAppUtils入口–true

fun updateTitle(title: String)更新标题版本更新啦!false

fun updateContent(content: String)更新内容发现新版本,立即更新false

fun updateConfig(config: UpdateConfig)更新配置查看源码false

fun uiConfig(uiConfig: UiConfig)更新弹窗UI配置查看源码false

fun setUpdateDownloadListener()下载过程监听nullfalse

fun setMd5CheckResultListener()md5校验结果回调nullfalse

fun setOnInitUiListener()初始化更新弹窗UI回调nullfalse

fun deleteInstalledApk()删除已安装的apk–false

fun setCancelBtnClickListener()暂不更新按钮点击监听–false

fun setUpdateBtnClickListener()立即更新按钮点击监听–false

2、UpdateConfig:更新配置说明

属性说明默认值isDebug是否输出【UpdateAppUtils】为Tag的日志true

force是否强制更新,强制时无取消按钮false

apkSavePathapk下载存放位置包名目录

apkSaveNameapk保存文件名项目名

downloadBy下载方式DownLoadBy.APP

needCheckMd5是否需要校验apk签名md5false

checkWifi检查是否wififalse

isShowNotification是否显示通知栏进度true

notifyImgRes通知栏图标项目icon

serverVersionName服务器上apk版本名无

serverVersionCode服务器上apk版本号无

alwaysShow是否每次显示更新弹窗(非强更)true

thisTimeShow本次是否显示更新弹窗(非强更)false

alwaysShowDownLoadDialog是否需要显示更新下载进度弹窗(非强更)false

showDownloadingToast开始下载时是否显示Toasttrue

3、UiConfig:更新弹窗Ui配置说明

属性说明默认值uiTypeui模板UiType.SIMPLE

customLayoutId自定义布局idfalse

updateLogoImgRes更新弹窗logo图片资源id–

titleTextSize标题字体大小16sp

titleTextColor标题字体颜色–

contentTextSize内容字体大小14sp

contentTextColor内容字体颜色–

updateBtnBgColor更新按钮背景颜色–

updateBtnBgRes更新按钮背景资源id–

updateBtnTextColor更新按钮字体颜色–

updateBtnTextSize更新按钮文字大小14sp

updateBtnText更新按钮文案立即更新

cancelBtnBgColor取消按钮背景颜色–

cancelBtnBgRes取消按钮背景资源id–

cancelBtnTextColor取消按钮文字颜色–

cancelBtnTextSize取消按钮文字大小14sp

cancelBtnText取消按钮文案暂不更新

downloadingToastText开始下载时的Toast提示文字更新下载中…

downloadingBtnText下载中 下载按钮以及通知栏标题前缀,进度自动拼接在后面下载中

downloadFailText下载出错时,下载按钮及通知栏标题下载出错,点击重试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值