luk*_*tei 14 android build gradle
我想知道如何在gradle中为特定的productFlavor和buildType添加依赖项.例如,我有productFlavor free和构建类型release,如何添加对assembleFreeRelease任务的依赖?
我尝试了很多变种,但都没有效果.
例如我试过:
task('release', dependsOn: assembleProductionRelease) {
}
// error: Could not find property 'assembleProductionRelease' on root project 'app'.
Run Code Online (Sandbox Code Playgroud)
要么:
task('release', dependsOn: 'assembleProductionRelease') {
}
Run Code Online (Sandbox Code Playgroud)
这里没有错误,但是为每种风味和构建类型执行任务,非常令人困惑.
Ser*_*kyi 15
对flavor和buildType依赖项有内置支持.
dependencies {
flavor1Compile "..."
freeReleaseCompile "..."
}
Run Code Online (Sandbox Code Playgroud)
http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Sourcesets-and-Dependencies
Ben*_*hko 12
这些任务是根据您的Android插件配置动态生成的.在配置时,它们尚不可用.您可以通过两种方式推迟创建任务:
等到评估项目.
afterEvaluate {
task yourTask(dependsOn: assembleFreeRelease) {
println "Your task"
}
}
Run Code Online (Sandbox Code Playgroud)
Lazily将任务依赖声明为String.
task yourTask(dependsOn: 'assembleFreeRelease') {
println "Your task"
}
Run Code Online (Sandbox Code Playgroud)
现在看起来像android gradle插件的版本1和gradle 2.2+,您可以使用配置执行此操作:
configurations {
freeReleaseCompile
}
android {
...
productFlavors {
free {
...
}
}
}
dependencies {
freeReleaseCompile('myLib@aar')
}
Run Code Online (Sandbox Code Playgroud)
参考:https://groups.google.com/forum/#! msg/ adt- dev/ E2H_rNyO6- o/ h-zFJso-ncoJ
| 归档时间: |
|
| 查看次数: |
11833 次 |
| 最近记录: |