【问题标题】:Proguard - also use proguard files from modulesProguard - 也使用模块中的 proguard 文件
【发布时间】:2015-08-27 07:16:24
【问题描述】:

我的项目 build.gradle 如下所示:

android { 
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "..."
        minSdkVersion 15
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile project(':androKnife')
}

我的androKnife 模块确实有它自己的proguard 文件。我怎样才能让我的主项目也使用这个文件?

如果我编译一个项目,是否有某种方法可以自动合并所有模块的所有 proguard 文件?模块可以指定它的proguard规则并且项目可以继承它吗?

【问题讨论】:

    标签: android android-studio gradle proguard android-proguard


    【解决方案1】:

    解决方案是将以下行添加到库build.gradleconsumerProguardFiles 'proguard-rules.pro'

    所以我的 androKnife 库如下所示:

    apply plugin: 'com.android.library'
    
    android {
        compileSdkVersion 22
        buildToolsVersion "22.0.1"
    
        defaultConfig {
            minSdkVersion 15
            targetSdkVersion 22
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled true
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
                consumerProguardFiles 'proguard-rules.pro'
            }
        }
    }
    
    dependencies {
    
        ...
    }
    

    【讨论】:

      【解决方案2】:

      所以,主模块proguard 代码,喜欢这样:

      buildTypes {
              release {
                  minifyEnabled false
                  proguardFiles getDefaultProguardFile('proguard-android.txt'), 
                                                       'main_proguard-rules.pro'
              }
          }
      

      谁知道proguardFiles的内在关系原理?具有相同的proguard代码时自动合并或覆盖?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-25
        • 2022-08-25
        • 2016-07-07
        • 1970-01-01
        • 2021-10-30
        • 2015-04-25
        相关资源
        最近更新 更多