在同时使用构建类型和产品风格时如何包含 LeakCanary?
How can I include LeakCanary when using both build types and product flavors?
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
,是在创建相应的对象模型对象时生成的。在 debugCompile
和 releaseCompile
的情况下,由于 debug
和 release
构建类型是预定义的,因此顺序无关紧要。但是对于自定义构建类型和任何产品风格,您需要先定义它们,然后再尝试使用生成的方法。
模块级 build.gradle
文件 dependencies
闭包最安全的地方是在最后,在您确定所有构建类型和产品风格都存在之后,因此相应的 ...Compile
方法存在。
就我个人而言,我喜欢在 android
之前使用 dependencies
,如果您没有自定义构建类型或产品风格,那也行。
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
,是在创建相应的对象模型对象时生成的。在 debugCompile
和 releaseCompile
的情况下,由于 debug
和 release
构建类型是预定义的,因此顺序无关紧要。但是对于自定义构建类型和任何产品风格,您需要先定义它们,然后再尝试使用生成的方法。
模块级 build.gradle
文件 dependencies
闭包最安全的地方是在最后,在您确定所有构建类型和产品风格都存在之后,因此相应的 ...Compile
方法存在。
就我个人而言,我喜欢在 android
之前使用 dependencies
,如果您没有自定义构建类型或产品风格,那也行。