JarFilterPlugin
JarFilterPlugin copied to clipboard
混淆问题
感谢博主回信,因此我特地列出更详细问题反馈给您.
Gradle 6.7.1 JarFilter插件版本 1.4 ~2.4版本.
-
1.4版本过滤被替换, 但release混淆编译失败
-
2.4版本编译成功, 没有过滤成功, 同时 release混淆编译失败, 原因都是 存在相同两个类.
需求目的是, 用自己的类替换第三方类
apply plugin: "jar-filter"
//2.4版本 这个过滤是无效的,我在app模块创建包名和类相同
//org/eclipse/paho/client/mqttv3/logging/LoggerFactory.class,替代第三方的LoggerFactory
// debug 编译成功过,类没有被移除
// release 混淆,编译失败. 异常提示 相同类被定义多次
jarFilters {
"org.eclipse.paho:org.eclipse.paho.client.mqttv3:(.*)" {
excludes = [
'org/eclipse/paho/client/mqttv3/logging/LoggerFactory.class',
'org/eclipse/paho/client/mqttv3/internal/MessageCatalog.class'
]
}
}
//1.4版本 这个过滤是有效的,我在app模块创建包名和类相同
//org/eclipse/paho/client/mqttv3/logging/LoggerFactory.class,替代第三方的LoggerFactory
// debug是成功的, 一旦混淆就会提示 该类存在两个相同类多次被定义
jarFilter {
excludes = [
'org/eclipse/paho/client/mqttv3/logging/LoggerFactory.class',
'org/eclipse/paho/client/mqttv3/internal/MessageCatalog.class'
]
}
@yangjieK 我今天大概尝试了下,发现 gradle 和 android gradle plugin 的 api 改动挺大的(相较于我还在做 android 开发的三年前),我目前没法快速地 fix 这个问题。如果社区没有人能解决的话,建议你弃用这个插件吧,因为我个人也很长一段时间不会回到 android 开发领域了。
@yangjieK 我今天大概尝试了下,发现 gradle 和 android gradle plugin 的 api 改动挺大的(相较于我还在做 android 开发的三年前),我目前没法快速地 fix 这个问题。如果社区没有人能解决的话,建议你弃用这个插件吧,因为我个人也很长一段时间不会回到 android 开发领域了。
看到本尊的回答 心里也差不多凉透了 !
感谢作者的贡献 至少老版本还可以用 !!!!