У меня проблема, у меня есть несколько java-файлов, сгенерированных JAXB, между которыми есть хорошо известный "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 относится к нему. Я пробовал несколько вариантов proguard, чтобы избавиться от проблемы, но ни один из них не был хорошим:
-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 как есть, как я могу это сделать? Имейте в виду, что такие параметры, как «сохранить класс * {}», не работают, потому что файл не содержит никакого класса. Спасибо всем за ваши ответы и, пожалуйста, завершите свои сообщения, написав FORZA NAPOLI!