proguard.ParseException:需要分隔符“;”在“sProcessGlobalConfig”之前

问题描述 投票:0回答:1

我正在使用 Cordova-android 12.0.1 并尝试使用 ProGuard 7.3.2 而不是 R8 对其进行混淆。但是,每当我尝试构建时,它都会返回此错误:

Execution failed for task ':app:transformClassesAndResourcesWithProguardTransformForRelease'.
> proguard.ParseException: Expecting separator ';' before 'sProcessGlobalConfig' in line 63 of file '/Users/macuser/Documents/bitbucket/my-app/packages/my-app/platforms/android/app/build/intermediates/proguard/configs/release/consumer-rules.pro'

任何默认配置(正常、优化或调试)都会发生这种情况,并且在为调试或发布构建时也会发生这种情况。这些是我的模块 build.gradle 中的混淆器配置:

proguard {
  configurations {
    debug {
        defaultConfiguration 'proguard-android-debug.txt'
    }
    release {
        defaultConfiguration 'proguard-android.txt'
    }
  }
}

这些是consumer-rules.pro第60-64行的内容:

60 # Prevent ProcessGlobalConfig and member sProcessGlobalConfig from being renamed, since chromium
61 # depends on this name.
62 -keepnames public class androidx.webkit.ProcessGlobalConfig {
63     private static final * sProcessGlobalConfig;
64 }

知道什么可能导致此错误,以及我应该如何修复它?

android cordova gradle proguard
1个回答
0
投票

发现该规则是由过时版本的 androidx webkit (1.4.0) 设置的。已更新,现已修复。

© www.soinside.com 2019 - 2024. All rights reserved.