Сборка LeakCanary завершается неудачно с типом сборки, который не является отладочным - PullRequest
0 голосов
/ 19 октября 2018

Мое приложение для 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
        }
    }

Инструкции кажутся совершенно простыми, поэтому я не вижу, чего мне не хватает.Кто-нибудь имеет опыт работы с этой настройкой?

1 Ответ

0 голосов
/ 13 января 2019

Исправьте, как сказал автор, - добавьте реализацию с префиксом buildType.

Например, у меня есть пользовательский buildType с именем releaseFreemium.Он берет все настройки из типа сборки - релиз - без дополнительных опций.

Больше информации здесь https://developer.android.com/studio/build/build-variants.

enter image description here enter image description here

Ответ в разделе часто задаваемых вопросовLeakCanary (https://github.com/square/leakcanary/wiki/FAQ#how-do-i-fix-build-errors).

...