【问题标题】:Gradle: initwith don't work for minify and proGuardGradle:initwith 不适用于 minify 和 proGuard
【发布时间】:2020-06-18 02:44:13
【问题描述】:

在我的代码中,我有 5 种构建类型。在我的情况下,QA 应该 initWith 发布,但这不起作用,因为当我运行 ./gradlew assembleQa 时不会生成 mapping.txt

我到目前为止所尝试的:

qa.initWith(buildTypes.release)
qa { 
    ... 
}
qa { 
    initwith release
    ... 
}
qa { 
    initwith buildTypes.release
    ... 
}

在所有情况下,它都不会从发布中获取属性(因为没有构建映射)

    minifyEnabled true
    proguardFiles 'proguard-android.txt', 'proguard-rules.pro', 'proguard-log.pro'

所以现在我有了这个:

qa {
    ...
    minifyEnabled true
    proguardFiles 'proguard-android.txt', 'proguard-rules.pro', 'proguard-log.pro'
    ...
}

release {
    ...
    minifyEnabled true
    proguardFiles 'proguard-android.txt', 'proguard-rules.pro', 'proguard-log.pro'
    ...
}

什么不是很好。我怎样才能使 initWith 有效?谢谢

【问题讨论】:

    标签: android gradle build.gradle gradlew


    【解决方案1】:

    除了我在一些 Gradle 课程中发现的,看起来像顺序问题(至少在同一个函数中)

    所以,在buildTypes 内部,要使 initWith 工作,它需要在之后进行。像这样:

    release {
        ...
        minifyEnabled true
        proguardFiles 'proguard-android.txt', 'proguard-rules.pro', 'proguard-log.pro'
        ...
    }
    
    qa {
        ...
        initWith buildTypes.release
        ...
    }
    

    【讨论】:

      猜你喜欢
      • 2015-11-04
      • 2019-07-11
      • 2021-04-26
      • 1970-01-01
      • 2014-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-12
      相关资源
      最近更新 更多