我的Android应用具有第三种构建类型“ qa”。我遵循了LeakCanary网站上的这些说明:“如果您有除调试和发布以外的其他构建类型,则还需要为其添加特定的依赖项(xxxCompile)”:
qaImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.6.2'
这会导致gradle同步错误:
Could not find method qaImplementation() for arguments [com.squareup.leakcanary:leakcanary-android-no-op:1.6.2] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.
如果我做qaCompile
,也会发生同样的情况。这是我的构建类型:
buildTypes {
debug {
applicationIdSuffix ".debug"
versionNameSuffix " Dev"
}
qa {
zipAlignEnabled true
signingConfig signingConfigs.releaseConfig
versionNameSuffix " Test"
}
release {
signingConfig signingConfigs.releaseConfig
zipAlignEnabled true
}
flavorDimensions "app" // Required by Gradle 3
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
说明似乎很简单,所以我看不到我可能会缺少的内容。任何人都有使该设置生效的经验吗?
答案 0 :(得分:1)
正如作者所说的那样正确-添加带有buildType前缀的实现。
例如,我有一个名为releaseFreemium
的自定义buildType。它从构建类型(发布)获取所有设置,而没有其他选项。
更多信息,请点击https://developer.android.com/studio/build/build-variants。
有关LeakCanary(https://github.com/square/leakcanary/wiki/FAQ#how-do-i-fix-build-errors)的常见问题解答。