升级cronet-embedded:119.6045.31触发R8的maximumremovedandroidloglevel规则错误
解决Cronet-Embedded 119.6045.31版本的R8构建报错问题
问题分析
你遇到的R8报错根源是Cronet库自带的proguard.txt文件存在语法错误:-maximumremovedandroidloglevel 1 class ** {。
-maximumremovedandroidloglevel是R8的全局配置规则,仅接受日志级别数值作为参数,不支持后续的class筛选块。R8解析到此处时,预期下一条规则以-开头,却遇到了class,因此抛出语法错误。
官方库出现这类问题大概率是版本打包过程中生成proguard规则时的失误。
修复方案
1. 修正规则并覆盖库中错误配置
在你的App模块proguard-rules.pro文件中添加正确的规则:
-maximumremovedandroidloglevel 1
该规则全局生效,用于指定移除级别≤1的Android日志调用(对应VERBOSE级别)。
再通过Gradle配置排除Cronet库中自带的错误proguard文件,避免冲突:
android { buildTypes { release { packagingOptions { // 路径对应缓存中cronet的proguard文件位置,可根据实际路径调整 exclude 'proguard.txt' } } } }
2. 临时绕过错误(排除文件无效时)
如果上述排除方式不生效,可在proguard-rules.pro中添加-ignorewarnings临时绕过语法错误,但不推荐长期使用:
-ignorewarnings
3. 反馈官方问题
可以向Cronet官方提交issue,说明该版本proguard规则存在语法错误,推动官方修复后续版本问题。
内容的提问来源于stack exchange,提问作者Heath Borders
相关产品推荐
相关产品推荐

