gpt4 book ai didi

android - Android Studio 和 Gradle 未知类 'Object' 的 Proguard 说明

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:25:07 26 4
gpt4 key购买 nike

我在 Android Studio 中创建了一个新项目,并正在使用 Gradle 构建它。

我已经为发布构建添加了 Proguard 集成,每次运行 assembleRelease 步骤时,我都会看到这个注释:

Note: the configuration refers to the unknown class 'Object'
Maybe you meant the fully qualified name 'java.lang.Object'?

我的 Proguard 配置文件或 Android SDK 文件夹中的配置文件均未包含非限定名称 Object

我的 build.gradle 包括:

buildTypes {
release {
runProguard true
proguardFile 'proguard-project.txt'
proguardFile getDefaultProguardFile('proguard-android-optimize.txt')

signingConfig signingConfigs.release
}
}

当我删除上面的 proguardFile 行时,以及如果我删除我的自定义 Proguard 规则(每次在重建前进行清理)时,我什至会看到相同的注释。

我猜这是 Gradle 的 Proguard 插件的良性问题?

最佳答案

感谢 Eric Lafortune 的建议!将 -printconfiguration 添加到我的 proguard.txt 显示问题出在 google-play-services_lib (r13)。

有罪的 Proguard 规则是(它应该是 java.lang.Object[][]):

-keep class * extends java.util.ListResourceBundle {
protected Object[][] getContents();
}

您可以在 Mac 上通过右键单击 Android Studio 来查看此内容,执行 Show Package Contents,然后浏览到 sdk/extras/google/google_play_services/libproject/google-play-services_lib/proguard.txt.

最快的解决方法是将正确的 Proguard 规则添加到您自己的 Proguard 配置中,然后忽略 Proguard 注释。

-keep class * extends java.util.ListResourceBundle {
protected java.lang.Object[][] getContents();
}

我向 Google 提出了这个错误 Android Issue #63095 .

关于android - Android Studio 和 Gradle 未知类 'Object' 的 Proguard 说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20135121/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com