关于android库项目的Proguard混淆问题

时间:2016-04-20 14:15:15

标签: android proguard

我需要将代码作为库提供。我已经创建了它,现在我需要混淆所有代码,除了我的库的最终用户需要的公共类。

我的图书馆有两个包:

    1. com.xxx.xxx 在哪里找到所有公共类。
    1. com.yyy.yyy ,其中有很多类需要混淆(没有人应该看到它的内容)。
    1. 另外,我的图书馆使用一个内部库 com.zzz.zzz

第一个数据包中的类主要没有代码,只有公共接口和一些监听器类,所以核心在第二个包中必须是私有的。

在我的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'
    }

请问可能会发生什么?提前谢谢。

0 个答案:

没有答案