如何在我的Android库(AAR)中包含proguard配置

时间:2015-05-12 21:07:30

标签: android gradle proguard aar

根据AAR file spec,Android库包含'proguard.txt'文件。 我的理解是这个文件声明了如何正确地对库进行模糊处理和缩小。在我的情况下,我需要保留一些API类。

如何在库的build.gradle中声明库的proguard.txt文件?在创建使用我的库的应用程序(APK)时,是否会自动读取此文件?

我在Android的Gradle插件用户指南中找不到此信息。

2 个答案:

答案 0 :(得分:43)

在您的Gradle文件的默认配置结束中,使用consumerProguardFiles而不是proguardFiles指定您的Proguard文件。例如:

defaultConfig {
    consumerProguardFiles 'proguard.txt'
}

答案 1 :(得分:1)

如果创建库,则可以禁用proguard并在consumerProguardFiles中提供build.gradle,供消费者项目使用,以解决该问题

android {
    defaultConfig {
        consumerProguardFiles 'proguard-rules.pro'
    }

    buildTypes {
        release {
            minifyEnabled false
        }
    }
    //...
}

但是,例如,如果您应该启用proguard,因为您想将库作为存档分发-您可以使用下一种可能性:

android {

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles 'proguard-rules.pro'
        }
    }
    //...
}