Skip to main content

Android SDK 更新日志

1.8.22-RC04 (2025/07/22)

Fixes

  • 修复宿主APP集成了依赖低版本reshub的第三方SDK时,更新reshub到新版本后,第三方SDK会发生NoSuchMethodError报错问题

1.8.22-RC03 (2025/07/21)

Features

  • 支持通过shiply通道上报加载事件

1.8.22-RC02 (2025/06/25)

Features

  • IReshub增加RN数据上报接口
  • 配置SDK升级到1.3.38-RC02

1.8.22-RC01 (2025/04/01)

Features

  • SDK初始化增加appChannel/devModel/devManufacturer/androidSystemVersion/customServerUrl字段
  • 配置SDK升级到1.3.37-RC02(支持appChannel字段)
  • 外网版本默认开启多进程

1.8.21 (2024/11/29)

Release

  • 基于1.8.21-RC03发布1.8.21正式版本

1.8.21-RC03 (2024/11/29)

Fixes

  • 修复同时加载多个不同内置资源时偶现ANR问题

1.8.21-RC02 (2024/11/11)

Features

  • ResHubParams增加skipIntegrityCheckAfterPresetResCopy参数,支持跳过内置资源复制后的文件完整性校验
  • 内置资源复制失败上报新增fail_reason字段,区分是复制失败还是校验失败

1.8.21-RC01 (2024/09/04)

Features

  • 初始化时增加fetchProjectWhenAppOnly设置项,当pullTarget为[TargetType.AndroidApp]时,支持额外拉取项目级别的配置信息
  • 升级内部依赖的RDelivery SDK到1.3.36-RC03版本(支持fetchProjectWhenAppOnly)

1.8.20 (2024/09/04)

Release

  • 基于1.8.20-RC02发布1.8.20正式版本

1.8.20-RC02 (2024/08/28)

Features

  • 异步加载接口增加validateResFile参数,支持在读取本地资源时不校验md5只校验文件大小
  • 加载上报时增加网络类型/下载的文件大小(完整包/压缩包/差量包)
  • 内置文件复制改为临时文件rename方式,复制结束后主动调用flush确保数据写入

1.8.20-RC01 (2024/08/07)

Features

  • ErrorInfo类中增加了subErrorCode字段,用于透传子错误码

1.8.19 (2024/06/25)

Fixes

  • 修改构建脚本,修复内部版本找不到com.tencent.beacon:beacon-android-release库的bug

1.8.19-RC02 (2024/06/14)

Features

  • 修改构建脚本,支持发布到腾讯云maven仓库

1.8.19-RC01 (2024/06/12)

Features

  • IResHub增加addUserToExperienceList接口,支持添加体验名单
  • IResHub增加deleteResWithDelayOption接口,支持延迟删除资源文件
  • 升级内部依赖的RDelivery SDK到1.3.36-RC02版本(支持添加体验名单)

1.8.18 (2024/06/12)

Release

  • 基于1.8.18-RC02发布1.8.18正式版本

1.8.18-RC02 (2024/05/28)

Fixes

  • 修复CRC32值以0开头时会检验失败的bug
  • 修复本地存在完整原始文件,再次触发压缩包文件下载后会返回异常文件路径的bug

1.8.18-RC01 (2024/05/23)

Features

  • 支持制品版本降级
  • 本地制品任务支持降级并且不是内置资源版本时,支持自动删除资源
  • ResHubCenter.strictRemoteVersionCheck不再支持外部修改,默认为false

Fixes

  • 修复加载进度值可能会回跳的bug

1.8.17 (2024/05/22)

Release

  • 基于1.8.17-RC03发布1.8.17正式版本

1.8.17-RC03 (2024/05/07)

Fixes

  • 计算MD5前增加文件锁,避免多进程IO异常

1.8.17-RC02 (2024/04/28)

Fixes

  • 修复默认线程池实现会阻塞等待异步线程执行完毕的bug(1.8.16-RC03版本引入)

1.8.17-RC01 (2024/04/19)

Features

  • 本地存在不同制品版本的相同资源文件时,避免重复下载
  • 支持CRC32校验
  • IRes增加getTaskId接口,支持获取任务ID
  • 优化加载耗时,避免重复计算MD5
  • 升级内部依赖的RDelivery SDK到1.3.35-RC03版本(MmkvStorage/MmkvStorageFactory支持设置支持设置自定义锁)

1.8.16 (2024/03/29)

Release

  • 基于1.8.16-RC03发布1.8.16正式版本

1.8.16-RC03 (2024/03/28)

Features

  • 本地资源与APP版本不匹配时,忽略制品版本判断逻辑,使用远端配置
  • 版本号对比支持不同位数

Fixes

  • 修复拉到的远端配置低于本地配置时,可能会触发重复下载流程的bug
  • 默认线程池执行异常时增加日志打印

1.8.16-RC02 (2024/02/26)

Fixes

  • 修复多进程同时加载同一个资源场景,文件解压时可能会相互覆盖的bug

Features

  • 升级内部依赖的RDelivery SDK到1.3.33版本(get协议支持加密)

1.8.16-RC01 (2024/02/22)

Fixes

  • 修复直接调用getSpecific查询本地已有资源可能返回空的bug

1.8.15 (2024/01/22)

Release

  • 基于1.8.15-RC01发布1.8.15正式版本

1.8.15-RC01 (2024/01/15)

Fixes

  • 修复APP升级后首次加载本地不兼容旧资源报错后无法正常加载新资源的bug

1.8.13 (2024/01/12)

Release

  • 基于1.8.13-RC02发布1.8.13正式版

1.8.13-RC02 (2023/12/26)

Fixes

  • 修复特定机型上无法解析独立目录内置资源配置信息的bug

1.8.13-RC01 (2023/12/19)

Features

  • 下载接口增加额外字段参数,透传资源ID/资源类型和下载类型

1.8.12 (2023/12/15)

Release

  • 修改版本号,发布正式版

1.8.12-RC01 (2023/11/22)

Features

  • ResHubParams增加enableLazyLoadInnerConfig字段,用来控制是否懒加载内部的配置信息
  • 升级内部依赖的RDelivery SDK到1.3.31-RC01版本(配置协议增加联网上报控制开关)

1.8.11 (2023/11/20)

Release

  • 修改版本号,发布正式版

1.8.11-RC01 (2023/11/10)

Fixes

  • 修复解压过程中杀进程,下次加载时可能会跳过解压步骤的bug

1.8.10-RC01 (2023/11/07)

Features

  • IResHub增加requestMultiRemoteResConfig接口,支持根据多个资源key拉取远程配置信息
  • IResHub增加getLastRequestServerTime接口,支持查询资源key最近一次发送远程网络请求时间戳
  • IResHub增加getLastFullRequestServerTime接口,支持查询最近一次发送全量远程网络请求时间戳
  • 升级内部依赖的RDelivery SDK到1.3.30-RC02版本(支持记录和查询最近一次发送配置更新请求的时间)

1.8.09-RC01 (2023/11/01)

Fixes

  • 修复loadSpecific在特定场景下差量逻辑无效的bug
  • 解压异常时尝试使用zipfile解压

1.8.08-RC01 (2023/10/25)

Features

  • 默认解压器支持优先使用ZipFile进行解压

1.8.07-RC01 (2023/10/17)

Features

  • 新增初始化接口,支持不同实例的参数相互隔离

1.8.06 (2023/09/11)

Release

  • 修改版本号,发布正式版

1.8.06-RC01 (2023/09/05)

Features

  • 内部配置支持根据32位64位隔离
  • 升级内部依赖的RDelivery SDK到1.3.29-RC01版本(支持自定义存储文件路径后缀)

1.8.05-RC01 (2023/08/11)

Features

  • IResHub增加getHitSubTaskTags方法,支持查询子任务标签
  • 升级内部依赖的RDelivery SDK到1.3.28-RC01版本(支持查询子任务标签)

1.8.03 (2023/08/11)

Fixes

  • 修复Android工程中不同模块依赖不同版本的reshub sdk,编译运行时可能发生java.lang.NoSuchMethodError的bug

1.8.02 (2023/08/08)

Fixes

  • 修复APP启动时立即加载资源可能会触发远程配置拉取操作的bug

1.8.01 (2023/07/28)

Features

  • 升级内部依赖的RDelivery SDK到1.3.27.3版本(修复不同配置实例的righly全量采样开关会相互覆盖的bug)

1.8.00 (2023/07/21)

Features

  • 新建发布任务选中强制更新时SDK忽略CDN限流
  • 升级内部依赖的RDelivery SDK到1.3.27.2版本(支持设置网络超时时间)

Fixes

  • 修复业务方自定义解压路径后innerMd5校验失败的bug
  • 修复开启压缩方式下发资源,先拉取高版本,再拉取低版本任务时会出现10004错误的bug

1.7.91 (2023/05/26)

Features

  • 计算MD5异常时增加日志打印

1.7.90 (2023/05/17)

Features

  • 内置文件配置信息支持存放到资源key相关独立文件夹
  • loadSpecific接口加载资源时支持差量更新
  • IResHub增加deleteSpecificTaskRes方法,支持删除通过loadSpecific接口加载的资源
  • IResHub增加getPresetResConfig方法,支持只获取内置资源配置不做数据拷贝
  • 当差量包大小大于压缩包大小时,不走差量更新逻辑

1.7.81 (2023/05/05)

Features

  • 优化解压目录校验逻辑:目录不包含子文件时直接校验失败

Fixes

  • 修复同时调用preloadLatest和load接口加载远端同一个版本的资源时可能加载失败(读取到的本地资源是关闭状态)的bug

1.7.80 (2023/05/04)

Features

  • 支持外部注入7z解压接口
  • IRes接口增加getDescription方法,支持获取资源描述信息
  • IResHub接口增加batchFetchResConfigByScene方法,支持根据场景ID获取资源列表

Fixes

  • 修复主线程繁忙时自动预加载逻辑没有被触发的bug

1.7.70 (2023/04/24)

Features

  • 支持与shiply配置实例聚合拉取配置数据
  • 资源加载上报默认开启抽样,抽样率由后台控制,不复用配置上报抽样率
  • 预加载异常上报增加上报次数限制
  • 升级内部依赖的RDelivery SDK到1.3.25版本(支持不同实例聚合拉取配置数据)

Fixes

  • 修复同时调用preloadLatest和load接口加载远端同一个版本的资源时可能加载失败的bug

1.7.60 (2023/03/30)

Features

  • 资源配置信息增加资源类型字段,SDK支持根据资源类型自定义下载路径

1.7.50 (2023/03/07)

Features

  • IRes接口增加getDiffPkgSize方法
  • IResHub接口增加updateCustomProperties方法

Fixes

  • 修复先后使用loadSpecific接口和load接口加载同一个版本的资源时可能加载失败的bug

1.7.40 (2023/02/27)

Features

  • SDK性能优化(减少长字符串打印/内置配置文件改为按数组分批读取/默认线程池实现改为懒加载)
  • IResHubCenter#getResHub方法增加ResHubInstanceExtraParams参数,支持下发服务set化独立部署
  • 升级内部依赖的RDelivery SDK到1.3.22版本(支持下发服务set化独立部署)

1.7.30 (2023/02/07)

Features

  • IResHubCenter#getResHub方法增加远程加载拦截器参数,确保预加载逻辑执行时拦截器已经设置好
  • IResHub增加requestFullRemoteResConfig方法,支持业务方主动拉取后台全量资源配置信息

1.7.20 (2022/12/12)

Fixes

  • 修复多进程场景下调用load接口偶现「读取到的本地资源是关闭状态」的bug

Features

  • 升级内部依赖的RDelivery SDK到1.3.15版本(不同实例的日志实现相互隔离)

1.7.10 (2022/09/30)

Features

  • 将SDK内部部分接口可见性设置为internal,避免业务方误用
  • 升级内部依赖的RDelivery SDK到1.3.10版本(修复网络回包时进程恰好被杀的极端场景下,偶现删除配置开关没有生效的bug)
  • 升级内部依赖的raft观测组件到0.5.2.16版本(下调默认采样率)
  • 接入手Q ComponentPublish插件

1.7.00 (2022/09/16)

Features

  • IRes添加isLoadFromPresetAssets()方法用于区分当前加载结果是本地预埋资源还是网络拉取资源
  • 全量下载时进行压缩方案兼容旧版本SDK
  • 升级内部依赖的RDelivery SDK到1.3.9版本(按照任务ID拉取资源支持体验名单)

1.6.92 (2022/08/30)

Fixes

  • 修复「全量下载时进行压缩」和「文件加密」开关同时开启时资源加载失败的bug

1.6.91 (2022/08/16)

Fixes

  • 修复浏览器反馈的reshub#setFullResConfigUpdateListener偶现没有回调的bug

Features

  • IResHubCenter#getResHub接口增加FullReqResultListener参数

1.6.90 (2022/08/15)

Features

  • 支持内置文件可以选择解压后合入仓库
  • 增加全量资源配置数据拉取结果回调
  • 支持按照压缩的方式下发文件

1.6.80 (2022/07/25)

Features

  • 支持手动提交(非流水线方式提交)内置资源:手动提交的资源配置信息存储到manualConfig.json,与流水线提交的资源配置信息存储文件config.json隔离

1.6.70 (2022/07/14)

Features

  • loadLatest接口增加是否强制从远端拉取配置参数

Fixes

  • deleteAll接口执行时同时清空所有配置数据

Refactor

  • 将patch sdk中差量包合并逻辑拆分成独立的pure-patch module
  • 修复单进程模式下patch合成失败的bug

Features

  • 升级内部依赖的RDelivery SDK到1.3.7版(优化配置回包大小)

1.6.60 (2022/06/29)

Features

  • 上架raft组件市场
  • 修改发布脚本,支持打tag发布

1.6.50 (2022/06/16)

Features

  • 优化加载请求合并部分的代码
  • 支持根据资源CDN索引来限制繁忙状态
  • RDeliveryData为空字符串时,返回null,不打出JSON解析异常
  • 升级内部依赖的RDelivery SDK到1.3.6版(支持bugly监控联动)

1.6.40 (2022/06/06)

Features

  • (同版本的)远程配置中资源文件发生了变更,和本地已有资源文件不一致时,可设定不同的处理策略(报错/覆盖/忽略,默认覆盖)
  • 资源配置中增加下载优先级字段,透传下载优先级到外部下载接口
  • 批量加载时,可强制依据优先级顺序调用外部下载器 (默认关闭)
  • 资源加载上报支持在当前进程内,对于特定"资源/版本/加载状态"仅上报一次,减少上报量,节约成本 (默认打开)
  • 资源加载上报支持抽样上报,减少上报量,节约成本 (默认关闭)
  • 升级内部依赖的Raft接口到0.0.8版
  • 升级内部依赖的RDelivery SDK到1.3.5版

1.6.30 (2022/05/31)

Features

  • ResHub使用的RDelivery的外部依赖(网络/配置/任务)可通过外部设置
  • 使用RDelivery中的HttpsURLConnectionNetwork作为默认的网络实现(目前仅RDelivery使用),不再使用原来的ResHubDefaultNetworkImpl

Fixes

  • 多进程模式,关闭文件锁后同时关闭文件锁所在的特殊文件,避免报文件未被关闭的警告

Features

  • 默认关闭"前后台切换/初始化时拉取全部配置检查预加载",减轻配置拉取量
  • 增加"默认全量配置定时自动更新时间间隔"到3小时,增加"忽略重复拉取请求的时间间隔"到3小时,减轻配置拉取量
  • 默认关闭RDelivery在"前后台切换"和"网络切换"时的配置自动更新策略,减轻配置拉取量
  • 升级内部依赖的RDelivery SDK到1.3.3版

1.6.20 (2022/05/12)

Features

  • 支持按场景批量拉取资源,增加batchLoadByScene/batchLoadLatestByScene接口
  • 新增资源文件更新回调 (IResRefreshListener)
  • 支持is64Bit属性

Fixes

  • 修复PendingDelete Sp类型改变导致的crash

1.6.10 (2022/04/29)

Features

  • 支持多进程场景使用资源
  • fetchConfig支持批量 -【成本优化】优化配置拉取量,优先从RDelivery本地读取配置
  • 优化Server繁忙的判断,允许强制执行加载请求
  • 支持"资源大包"合并
  • 新增资源属性字段:无需解压(noNeedUnZip)
  • 增加任务强制更新能力,强制更新时对当前已经锁定版本的资源解锁

1.6.00 (2022/04/21)

Fixes

  • 修复kt和java8兼容问题(部分接入方有报AbstractMethodError)

Features

  • 升级RDeliverySDK 1.3.2:修复内部网络监听在安卓11以上有权限crash
  • 添加逻辑环境枚举值

1.5.11 (2022/05/12)

Fixes

  • 修复PendingDelete Sp类型改变导致的crash

1.5.10 (2022/04/13)

Features

  • DemoApp重新设计和实现,并放入DemoApp的apk文件,方便下载
  • 允许修改本地文件路径,当本地路径被修改时(通常是使用方改变了文件路径生成规则/解压规则等),更新本地文件路径
  • 支持同步获取资源已拉到的最新配置(getFetchedResConfig)
  • 支持外部设置RDelivery的更新策略
  • 上报中使用"task_id"代替"res_ver"

Fixes

  • 内部忽略RDelivery中的BuglyHelper错误日志(不影响功能,且打得太多了)

Refactor

  • 删除旧配置通道相关的所有代码,现在只支持新配置通道(RDelivery通道)

Features

  • 增加空白示例,仅使用最基本的ResHub功能,用来对比集成ResHub SDK前后,最终Apk大小的变化

Cost Optimization

  • 去掉加载开始和中间阶段的上报,结束时整合报一次(requestId和相关代码也不需要了)
  • 远程服务器繁忙(CDN限流/外部设置繁忙)状态下,优化远程加载策略: load在本地有资源时不更新,loadLatest/loadSpecific/preload在本地有资源时优先返回本地资源
  • 设置RDelivery的isDebugPackage

Refactor

  • IPreloadInterceptor更名为IRemoteLoadInterceptor,增加外部设置远程服务器是否繁忙的方法isRemoteServerBusy()

Features

  • 升级内部依赖的RDelivery SDK到1.3.1版

1.5.02 (2022/03/26)

Fixes

  • 修复IllegalStateException: Method addObserver must be called on the main thread

1.5.00 (2022/03/24)

Features

  • 默认开启使用RDelivery通道获取远程资源配置
  • 支持资源自动/手动预加载(走RDelivery通道时),和loadLatest类似,只是受到条件限制
  • 数据存储与SharedPreferences解耦,改为依赖IRStorage
  • 提供预下载/更新的拦截接口,业务方可注入拦截策略
  • CDN繁忙时,限制自动预加载资源下载
  • 拉取后台配置请求频率优化,默认10分钟内不重复拉取(直接使用当前最新配置)
  • 如果远程资源配置修改了资源文件(和本地同版本的不一致),则根据是否严格检查来处理,默认不再报错,而是使用本地的代替
  • 增加getStatus接口,可以获取本地资源可用状态(LocalResStatus)

Refactor

  • 优化代码; 提出并复用本地资源检查代码; 解析ResConfig的代码统一

Features

  • 允许外部设置App的预置资源在Asset中的基路径
  • 旧通道使用同样的AppId,额外增加AppName,避免新旧通道的存储配置/内置路径等都不一致

Refactor

  • 去掉useRDelivery(),默认用新通道,旧通道仅兼容用途,使用旧通道时需要主动调用useOldConfigServer()并提供AppName

Features

  • 只要appId/target/env相同,就可以复用同一个ResHub实例(appKey理论上应该一样)
  • ResHub实例的复用方式和文件存储的划分方式保持一致,避免不同ResHub实例的文件操作可能相互干涉,但实例之间的配置不同步

Version

  • 由于默认拉取配置通道改为了新通道(RDelivery),以及和iOS一致的原因,版本号增到1.5.00

1.3.31 (2022/03/15)

Features

  • 支持按任务ID拉取特定资源(配置分开存放,下载文件共用)
  • 下载前判断本地是否已经有需要下载的文件
  • 升级内部依赖的RDelivery SDK到1.3.0版

Fixes

  • 老的配置拉取接口发送请求时,打出接口访问参数

1.3.30 (2022/03/04)

Features

  • fetch获取资源最新配置时增加上报

Fixes

  • 批量加载时,每个资源加载成功且资源都有效时才算全部成功
  • Patch包匹配原资源包时,按照old_md5匹配,不再用版本号匹配
  • 如果远程资源配置修改了资源文件(和本地同版本的不一致),则检查配置时直接报错(同一版本不允许修改资源文件)
  • 解密时如果已经解密过了(有解密后的originLocal文件路径),则忽略解密

1.3.29 (2022/03/02)

Features

  • 支持资源的关闭状态
  • 升级内部依赖的RDelivery SDK到1.2.2版
  • RDelivery通道支持Debug模式

Fixes

  • 增加读取本地资源检查失败的错误信息和返回
  • 网络请求参数构造时不共享状态,避免不同线程的同步问题

1.3.28 (2022/02/25)

Fixes

  • 判断本地是否已经有了下载好的资源时,不判断app_max_ver

1.3.27 (2022/02/22)

Features

  • 设置RDelivery的自定义参数

Fixes

  • 拉取配置错误日志增加resId

1.3.26 (2022/02/21)

Features

  • 增加RDelivery配置通道支持
  • App相关信息都封装到AppInfo
  • 支持资源文件加解密
  • 允许设置是否在下载文件前先重置对应路径的文件
  • 在开始加载的上报中增加本地配置版本
  • 资源配置增加"最大支持的App版本"属性,App升级到超过支持版本后该资源会立即失效

1.3.25 (2022/01/17)

Fixes

  • 修复远程版本小于本地版本时(非正常情况),兼容处理可能导致加载出错
  • 修复最终回调用户时,可能产生ConcurrentModificationException

Features

  • 修正上报的res_ver取值,规避版本号冲突导致统计展示异常

1.3.24 (2022/01/12)

Features

  • 校验本地是否已经有相同配置且下载好了的资源(锁定的或者最新的只要一个有,就不需要再下载了)

Fixes

  • 如果要下载的文件不存在(正常情况,需要下载),则无需进行MD5检查(避免打出MD5检查失败的log)
  • 远程资源版本配置错误时兼容处理: 允许在远程资源版本低于本地资源版本时,使用本地版本。(保证当有可用的本地资源时,加载过程能够正常进行)
  • 接口数据校验错误给出详细原因

1.3.23 (2022/01/10)

Features

  • 新增只拉取配置的接口: fetchConfig
  • 允许透传并更新当前版本资源的fileExtra
  • 优化md5校验卡顿、提供只读配置不校验的方法

1.3.22 (2022/01/06)

Features

  • 加载任务结束处理耗时优化: 最终回调时再切换到主线程,其他操作(包括锁)都放在原来的子线程中执行
  • 增加参数,可由用户决定结束回调/进度回调是否在主线程(默认结束回调在主线程)

1.3.21 (2021/12/29)

Fixes

  • 内置资源多线程加载优化: 加锁以避免内置资源多线程同时加载时文件操作(如解压)失败

1.3.20 (2021/12/24)

Features

  • 支持用户自定义内置资源保存位置: 允许设置为任意路径
  • 增加fileExtra字段
  • 更换MD5计算实现,避免ANR
  • 设备型号和系统版本号改为业务注入
  • 允许外部业务方强制删除/重新下载某个资源
  • Log改为可以外部注入Raft标准日志接口
  • 线程池/子线程任务执行改为可以外部注入
  • 去除对灯塔上报SDK的强依赖(改为IRReport接口注入并提供默认实现)
  • Batch加载改为在单个资源加载的基础上
  • 资源下载流程支持取消
  • 资源加载接口回调增加error信息

1.2.01 (2021/11/30)

Features

  • 提供简单的默认实现(网络+下载)

Fixes

  • 优化错误码处理: 加载不同阶段的错误都是用平坦的一级错误码
  • 增加捕获回调异常并上报,避免回调异常影响加载流程

1.2.00 (2021/11/18)

Refactor

  • 优化整理SDK的代码和结构
  • 对外接口易用性改造: 外部使用接口改为意义更加简明的名字(见"老版本升级")

Features

  • 内置资源加载异步化,优化首次卡顿

1.1.01 (2021/11/03)

Features

  • 同步加载时,先尝试加载和更新预置资源

1.1.00 (2021/11/03)

Features

  • kotlin版本降级到1.3.70,适配手Q接入

Fixes

  • 初始化时不再统一读取所有预置资源,改为加载资源时优先尝试从预置资源中读取

1.0.02 (2021/10/20)

Features

  • 调整SDK版本,和iOS保持一致

1.0.01 (2021/10/18)

Fixes

  • 取消同步获取数据的上报

1.0.00 (2021/10/14)

Note

  • 及之前为内部老版本,非对外使用
这篇文档对您有帮助吗?