我需要将代码作为库提供。我已经创建了它,现在我需要混淆所有代码,除了我的库的最终用户需要的公共类。
我的图书馆有两个包:
第一个数据包中的类主要没有代码,只有公共接口和一些监听器类,所以核心在第二个包中必须是私有的。
在我的proguard文件中,我有以下命令:
-keep public class com.xxx.xxx.*
-keepclasseswithmembernames class com.xxx.xxx.* {
native <methods>;
}
-keepclassmembers public class com.xxx.xxx.* {
*;
}
没关系,一切都可以编译,我可以使用库运行一个模拟应用程序,但是当我尝试使用com.yyy.yyy中的任何类时,运行时都会出现 NoClassDefFoundError 。 / p>
不确定我是否应该在proguard文件中添加内容,或者问题可能是我库中编译的内部库(com.zzz.zzz)。
构建gradle文件中的代码是:
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
请问可能会发生什么?提前谢谢。