gpt4 book ai didi

android - 使用 Proguard 时 META-INF/版本重复错误

转载 作者:行者123 更新时间:2023-12-02 10:56:59 25 4
gpt4 key购买 nike

Gradle :4.10.1Gradle Android 插件版本:3.3.2混淆器:6.0.3JDK-1.9Android Studio 3.3.2当我尝试与 Proguard 一起构建 apk 发布版本时。我收到以下错误 -

Caused by: java.io.IOException: Please correct the above warnings first.
at proguard.InputReader.execute(InputReader.java:149)
at proguard.ProGuard.readInput(ProGuard.java:255)
at proguard.ProGuard.execute(ProGuard.java:96)
......

这似乎是由于这个造成的 -

Warning: class [META-INF/versions/9/module-info.class] unexpectedly contains class [module-info]
Note: duplicate definition of program class [module-info]
Note: there were 20 duplicate class definitions.
(http://proguard.sourceforge.net/manual/troubleshooting.html#duplicateclass)
Warning: there were 21 classes in incorrectly named files.
You should make sure all file names correspond to their class names.
The directory hierarchies must correspond to the package hierarchies.

从广泛的搜索来看,Proguard 似乎在 META-INF/versions/9 上存在问题。我有多个包含此内容的依赖项。

虽然这个问题似乎有所记录,但似乎没有规定的解决方案有效。 https://sourceforge.net/p/proguard/bugs/665/建议通过 -

过滤掉这些类文件
-injars my_lib.jar(!META-INF/versions/**.class)

但是,当我尝试此操作时,它只会将更多文件标记为重复且命名错误。我也尝试通过 gradle 排除它-

packagingOptions {
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/notice.txt'
exclude 'META-INF/INDEX.LIST'
exclude 'META-INF/versions'
exclude 'META-INF/versions/9/module-info.class'
}

这也无法解决问题。我该如何解决这个问题?

最佳答案

我意识到这是一个非常古老的问题,但我能够使用这个 gradle 配置让它工作:

task obfuscate(type: proguard.gradle.ProGuardTask) {
configuration files("proguard-project.txt")
libraryjars files("build/rt.jar", "build/jce.jar")
injars files("build/libs/desktop-${version}.jar"), filter: "!META-INF/versions/**/*.class"
outjars files("build/libs/obfuscated.jar")
}

我认为您使用的 injars 指令的问题可能是路径 - 应该是 META-INF/versions/**/*.class

关于android - 使用 Proguard 时 META-INF/版本重复错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55609008/

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