gpt4 book ai didi

android - 在同时使用构建类型和产品风格时如何包含 LeakCanary?

转载 作者:搜寻专家 更新时间:2023-11-01 08:41:05 25 4
gpt4 key购买 nike

LeakCanary documentation提到以下用于处理构建类型的内容:

 dependencies {
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1'
}

但是,如果同时使用多个product flavors 又会怎样呢?我在 buildTypeCompile 函数上收到错误 Gradle DSL method not found

这是我当前的 Gradle 文件的框架:

android {
...

dependencies {
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
ciCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
qaCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
uatCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
prodCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1'
}

productFlavors {
foo {
buildTypes {
ci {
...
}

qa {
...
}
}
}

bar {
buildTypes {
ci {
...
}

qa {
...
}
}
}
}
}

最佳答案

build.gradle 是构建构建过程的对象模型的脚本。然而,它仍然是一个脚本,用脚本语言 (Groovy) 编写,因此倾向于自上而下处理。

方法,如debugCompile,是在创建相应的对象模型对象时生成的。在 debugCompilereleaseCompile 的情况下,由于 debugrelease 构建类型是预定义的,顺序不不要紧。但对于自定义构建类型和任何产品风格,您需要先定义它们,然后再尝试使用生成的方法。

模块级 build.gradle 文件 dependencies 闭包最安全的地方是在最后,在您确定所有构建类型和产品风格都存在之后,并且因此存在相应的...Compile 方法。

就个人而言,我喜欢在 android 之前有 dependencies,如果您没有自定义构建类型或产品风格,那也行。

关于android - 在同时使用构建类型和产品风格时如何包含 LeakCanary?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32571561/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com