Gradle:initwith 不适用于 minify 和 proGuard
Posted
技术标签:
【中文标题】Gradle:initwith 不适用于 minify 和 proGuard【英文标题】:Gradle: initwith don't work for minify and 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 有效?谢谢
【问题讨论】:
【参考方案1】:除了我在一些 Gradle 课程中发现的,看起来像顺序问题(至少在同一个函数中)
所以,在buildTypes
内部,要使 initWith 工作,它需要在之后进行。像这样:
release
...
minifyEnabled true
proguardFiles 'proguard-android.txt', 'proguard-rules.pro', 'proguard-log.pro'
...
qa
...
initWith buildTypes.release
...
【讨论】:
以上是关于Gradle:initwith 不适用于 minify 和 proGuard的主要内容,如果未能解决你的问题,请参考以下文章
Gradle 导出属性不适用于 Spring 中的 gradle bootRun
Gradle Maven 插件“安装”任务不适用于 Android 库项目
Gradle 发布到 Maven 添加了一个似乎不适用于 Maven POM 依赖项的后缀