Java me 使用Bouncy Castle库会导致输出.jar文件大小的大幅增加
我正在从事一个利用Bouncy Castle J2ME库的Java ME/J2ME项目。然而,当我将它添加到我的项目中时,我注意到生成的.jar文件大小增加了40倍(50kB比2000kB)。除了将ProGuard的模糊器设置设置为9级(最大值),还有其他方法可以将文件大小的增加降至最低吗 我只使用了实际类中的几个库,即:Java me 使用Bouncy Castle库会导致输出.jar文件大小的大幅增加,java-me,jar,proguard,bouncycastle,filesize,Java Me,Jar,Proguard,Bouncycastle,Filesize,我正在从事一个利用Bouncy Castle J2ME库的Java ME/J2ME项目。然而,当我将它添加到我的项目中时,我注意到生成的.jar文件大小增加了40倍(50kB比2000kB)。除了将ProGuard的模糊器设置设置为9级(最大值),还有其他方法可以将文件大小的增加降至最低吗 我只使用了实际类中的几个库,即: import org.bouncycastle.util.encoders.Hex; import org.bouncycastle.crypto.Digest; impor
import org.bouncycastle.util.encoders.Hex;
import org.bouncycastle.crypto.Digest;
import org.bouncycastle.crypto.macs.HMac;
import org.bouncycastle.crypto.params.*;
import org.bouncycastle.crypto.digests.SHA256Digest;
提前谢谢。现在这是一个非常棘手的问题 在做其他事情之前,请先解压缩jar文件,看看Proguard是否混淆了BouncyCastle的类文件?由于您已将bouncycastle jar文件作为库包含,并且其中包含类文件,因此我假设Proguard没有混淆这些占用大量空间的类文件 总之,我刚刚下载了bouncy castle jar文件,可以看到它完全是由类文件组成的,因此没有额外的文件,我们可以删除并删除这些文件来减少生成的jar文件 现在,如果你真的想减少,那么继续读下去,我将给出两种解决方案,它们都是有风险的: 解决方案1(不推荐):
添加了proguard标记,因为这应该是proguard的正确选项的问题,以将其减少到您正在使用的类。感谢您的建议,user_CC。我尝试了解决方案2,但连锁反应很难控制。我曾经尝试过删除那些不被使用的类,而只是让那些被使用的类抛出错误(就像它们自己使用它们一样!)。看起来代码混淆是目前的做法。非常感谢。使用代码而不是库,肯定会让ProGuard混淆库代码的大小。它是否减少或进一步增加了大小?使用library.jar与使用其类(启用和禁用混淆)之间的大小似乎没有区别。当ProGuard的级别设置为max(9)时,它似乎只对output.jar大小产生影响,否则不会有任何变化。这正常吗?