xml – 如何在proguard混淆步骤中保持JAXB生成的类文件“package
发布时间:2020-12-15 23:54:01 所属栏目:百科 来源:网络整理
导读:我有一个问题,我有一些JAXB生成的 java文件,其间有众所周知的“package-info.java”,它只包含2行代码,一个注释和一个包定义: @javax.xml.bind.annotation.XmlSchema(namespace = "http://it.tms.project/input")package it.tms.project.jaxb.input; 现在,当
我有一个问题,我有一些JAXB生成的
java文件,其间有众所周知的“package-info.java”,它只包含2行代码,一个注释和一个包定义:
@javax.xml.bind.annotation.XmlSchema(namespace = "http://it.tms.project/input") package it.tms.project.jaxb.input; 现在,当编译此文件时会生成一个普通的.class文件,但是当我尝试对其进行模糊处理时,proguard不会将其添加到模糊的output.jar中,我想这是因为它不包含任何类或其他任何内容而没有其他java文件是指它. -keepparameternames -keepattributes Exceptions,InnerClasses,Signature,SourceFile,EnclosingMethod -keeppackagenames it.tms.project.jaxb.input -dontshrink -dontoptimize -keepattributes *Annotation* (I thought this one would work but I was wrong) -keepclassmembernames class * { java.lang.Class class$(java.lang.String); java.lang.Class class$(java.lang.String,boolean); } 现在我只需要一些选项来明确告诉proguard不要混淆我想要的文件,但只是将它添加到output.jar中,我该怎么做?
就ProGuard而言,编译的类是一个类似于任何其他类的类.默认情况下,ProGuard会丢弃它,因为它没有被使用(内省除外).你可以保持:
-keep class it.tms.project.jaxb.input.package-info 正如您所注意到的,您可能也希望在此类上保留注释: -keepattributes *Annotation* (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |