Codenameone 排除未使用的.class文件

Codenameone 排除未使用的.class文件,codenameone,Codenameone,我有一个我正在制作的小应用程序。它使用外部bouncy castle crypto API,因为我需要使用它提供的SHA1哈希函数,因为代码名one API不包括本机java API 问题是我只使用SHA1digest类 import org.bouncycastle.crypto.digests.SHA1Digest; 但是在我构建API之后,代码名为one的构建系统将整个API放入最终的.jar文件中。这是1.8mb。现在我不能建立或测试的应用程序,因为它超过1mb的限制 有什么方法可以解

我有一个我正在制作的小应用程序。它使用外部bouncy castle crypto API,因为我需要使用它提供的SHA1哈希函数,因为代码名one API不包括本机java API

问题是我只使用SHA1digest类

import org.bouncycastle.crypto.digests.SHA1Digest;
但是在我构建API之后,代码名为one的构建系统将整个API放入最终的.jar文件中。这是1.8mb。现在我不能建立或测试的应用程序,因为它超过1mb的限制


有什么方法可以解决这个问题吗?

我们在最终构建中删除了冗余内容,但在那个阶段没有。 如果您想减小bouncy castle库的大小,我建议您不要使用cn1lib,而是将所需的源代码复制到您的项目中:


您可以有选择地这样做,当项目无法编译时,您可以添加其他依赖项。我确信它仍然比当前的cn1lib小。

我创建了一个自包含类,没有任何导入,只有一个公共静态方法实现了字符串的SHA-256哈希(所有其他方法都是私有的)

这个类与Codename One完全兼容,我在模拟器、Android本机、iOS本机和Javascript中对它进行了测试

完整的代码和用法示例如下:

我将这个类的输出与:它们是相同的

在Javadoc@author内部,我对johanstenberg给予了赞扬:我接受了他的代码,只对其进行了轻微修改,以使其适应代号为One的API

Java类的大小约为8KB,如果您删除bouncy castle cn1lib并且只需要这个类,这可以解决您的问题