我有以下 config.xml 文件
<config>
<input>
<jar in="FVCellsPlugin-3.3.1-jcg.jar" out="obf-FVCellsPlugin-3.3.1-jcg.jar"/>
</input>
<keep-names>
<class template="class io.github.freakyville.fvcells.main.Main"/>
<class template="class regex:(?!io\.github\.freakyville).*\..*">
<field template="*"/>
<field template="static *"/>
<field template="public static *"/>
<method template="private+ *(**)"/>
<method template="private+ static *(**)"/>
</class>
<class template="private+ class regex:io\.github\.freakyville\.utilsupdated\..*"/>
</keep-names>
<property name="log-file" value="log.xml"/>
<property name="line-numbers" value="keep"/>
</config>
所以我尝试了一些没有工作的东西,我想要混淆的所有代码都在包(或子包)中io.github.freakyville
(除了io.github.freakyville.utilsupdated
)。当插件启用时,我收到一个错误java.lang.NoSuchMethodError: com.mongodb.client.model.geojson.c.iiiiiI(Ljava/lang/String;)Ljava/lang/String;
,表明它正在混淆内部的类com.mongodb.client.model.geojson
,当查看 jar 内部时,我可以看到它已经混淆了geojson.c
类https://gyazo.com/45c17157d5d7a213f14a9ecc2c12b4f6这对我来说没有意义因为我的正则表达式(?!io\.github\.freakyville).*\..*
应该匹配该包/类路径,然后保持包/类正确?