Android应用打开Paytm默认Activity闪退 三星Android11设备报API等级异常
三星Android 11设备调用Paytm闪退解决方案
应用在Android 10及更低版本中运行完全正常,绝大多数Android 11设备也可正常适配,仅搭载Android 11系统的三星设备存在故障:点击Paytm时应用发生闪退,对应的异常日志如下:
Caused by: java.lang.IllegalStateException: Expected Android API level 21+ but was 30 ActivityTaskManager: Force finishing activity com.paytm.pgsdk.PaytmPGActivity
根因说明
该异常由Paytm旧版SDK依赖的okhttp库兼容性bug导致:3.12.x及更早版本的okhttp存在系统版本检测逻辑缺陷,三星Android 11系统对API版本标识的返回逻辑和其他厂商存在细微差异,刚好触发了该bug,导致程序误判系统API等级低于21,直接抛出异常触发闪退。
解决方案
- 优先升级Paytm PG SDK到官方最新版本,Paytm在2021年之后推送的SDK版本已经修复了该底层依赖的兼容性问题,直接替换旧版本SDK即可解决该闪退问题
- 若暂时无法升级Paytm SDK,可在项目app模块的
build.gradle文件中强制指定okhttp的兼容版本,配置如下:
android { // 原有配置保持不变 } dependencies { // 原有依赖保持不变 } // 添加以下配置强制指定okhttp版本 configurations.all { resolutionStrategy.force 'com.squareup.okhttp3:okhttp:3.14.9' }
- 配置完成后清理项目缓存,重新打包即可生效
内容的提问来源于stack exchange,提问作者Priyanka
相关产品推荐
相关产品推荐

