Android 问题:自动更新框架在 release 下失效

此文章发布于 53 个月前,部分信息可能已经过时,请自行斟酌确认。

今天发现之前开发的一个 Android 项目自动更新失效了,发布了新版本后客户端一直提示是最新版。

项目使用的 android 自动更新类库https://github.com/ifu25/AndroidAutoUpdate

问题描述

开发 debug 模式下测试自动升级正常,发布 release 后不提示升级。

问题分析

经修改 AutoUpdateLib 类库增加了日志输出后发现 release 下获取到的最新版本 versionCode = 0,而 debug 下没问题,另外一个使用了同一自动升级类库的项目没有问题,分析后发现有问题的项目使用了代码混淆,造成获取到的升级信息 model 对象属性为空。

图1:版本号应该是 18,结果日志输出为 0
20191110162916101.png

解决方案

代码混淆排除自动升级类库中的 model 类。
修改:proguard-rules.pro 文件增加如下

# 不混淆自动升级类库 model 类
-keep class cc.wco.autoupdate.model.** { *; }

修改后自动更新功能正常。

最后修改:2019 年 11 月 10 日 04 : 30 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论