ProGuard 是否支持 Java 11?

2022-09-04 06:29:04

我试图使用Proguard(6.1.0beta1),但得到了

(Unsupported version number [55.0] (maximum 54.0, Java 10)))

有没有可以使用Java 11管理的ProGuard的替代方案?


答案 1

作为Karol Dowbecki答案的后续:ProGuard 6.1.0 beta2(或更高版本)支持Java 10,11和12。请参阅 #188 支持 Java 11


请注意,由于模块系统的引入,您需要更改 Java 9 或更高版本的 。这是我的 Gradle Kotlin 构建脚本的一部分:libaryjars

if (JavaVersion.current().isJava9Compatible) {
    libraryjars(System.getProperty("java.home") + "/jmods")
} else {
    libraryjars(System.getProperty("java.home") + "/lib/rt.jar")
}

答案 2

Java 11 引入了对字节码和类文件格式的更改:

由于上述原因,您目前不太可能找到一个有效的代码混淆器。希望 ProGuard 将很快更新(请参阅为 ProGuard 6.1 规划的 #188 Support Java 11)。


推荐