当我试图在ProGuard中混淆简单的DataLoader.class文件时,我收到此错误:
Reading program directory [C:\Users\uzytkownik\Documents\NetBeansProjects\ProTest\build\classes\Files\DataLoader.class]
Warning: class [DataLoader.class] unexpectedly contains class [Files.DataLoader]
Warning: there were 1 classes in incorrectly named files.
You should make sure all file names correspond to their class names.
The directory hierarchies must correspond to the package hierarchies.
(http://proguard.sourceforge.net/manual/troubleshooting.html#unexpectedclass)
If you don't mind the mentioned classes not being written out,
you could try your luck using the '-ignorewarnings' option.
Please correct the above warnings first.
这是项目: http://www49.zippyshare.com/v/14668241/file.html
我将非常感谢你的帮助。
答案 0 :(得分:4)
使用选项-injars
和-libraryjars
,您应该指定类的正确基本目录(或jar),就像类路径一样。在这种情况下:classes
,而不是classes\Files\DataLoader.class
。
请参阅ProGuard手册>疑难解答> Warning: class file ... unexpectedly contains class ...
答案 1 :(得分:4)
Warning: class [META-INF/versions/9/module-info.class] unexpectedly contains class [module-info]
这是我遇到的问题,我尝试了以下几种选择:
对我有用的选项是3。
不知道为什么,但是它可以解决我的问题,我可以制作广口瓶。
当您升级诸如我升级spring-boot版本之类的项目并且项目开始失败时,就会出现此问题。
请同时检查Maven依赖项。
答案 2 :(得分:0)
如果你在安卓上工作,请添加这个 build.gradle
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}