You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ProGuard7.3.2混淆Cordova-android12.0.1遇ParseException错误求助

错误原因与修复方案

错误原因

ProGuard 7.3.2的语法校验比R8更严格,consumer-rules.pro第63行的规则写法不符合ProGuard的语法规范:

private static final * sProcessGlobalConfig;

ProGuard中单个*仅用于匹配类名的部分片段,不能直接用来匹配字段类型。这种写法会导致解析器无法识别,抛出"Expecting separator ';' before 'sProcessGlobalConfig'"的语法错误,而R8对该写法做了兼容,因此之前用R8时不会触发报错。

修复步骤

需要修改这条规则的语法以适配ProGuard,有两种可行方式:

方式一:使用ProGuard支持的通配符匹配任意类型

将第63行的规则修改为:

private static final ** sProcessGlobalConfig;

**是ProGuard中用来匹配任意类型(包括基本类型、引用类型)的通配符,完全覆盖原规则的意图。

方式二:指定具体字段类型

如果你明确知道sProcessGlobalConfig的类型(它是ProcessGlobalConfig的实例),也可以直接写具体类型:

private static final androidx.webkit.ProcessGlobalConfig sProcessGlobalConfig;

注意事项

由于consumer-rules.pro是构建过程中生成的中间文件,直接修改后可能会在下次构建时被覆盖。建议将修正后的规则添加到你项目自定义的ProGuard规则文件(比如proguard-rules.pro)中,确保每次构建都能应用正确的规则。

修改完成后,重新执行Release或Debug构建即可解决该解析错误。

内容的提问来源于stack exchange,提问作者Yeetjia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 20:07:45