Почему ошибка выпуска сборки выпуска, а не отладка, когда buildTypes идентичны?(Типы сборки gradle для Android) - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь выяснить, почему мне не удается правильно установить сборку релиза с помощью Android Studio.Это мой блок buildTypes:

buildTypes {
    debug {
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'),
                'proguard-rules.pro'
    }
    release {
        shrinkResources false
        minifyEnabled false
        proguardFiles getDefaultProguardFile('proguard-android.txt'),
                'proguard-rules.pro'
    }
}

, и это мои разновидности продукта:

flavorDimensions "version"
productFlavors {
    free {
        applicationId "com.example.app.free"
        dimension "version"
        signingConfig signingConfigs.config
    }
    paid {
        applicationId "com.example.app.paid"
        dimension "version"
        signingConfig signingConfigs.config
    }
}

Когда я устанавливаю отладочную платную или бесплатную версии, все в порядке.Ничего плохого.Когда я пытаюсь установить версии выпуска (платные или бесплатные), я получаю:

'Execution failed for task ':app:transformDexArchiveWithDexMergerForFreeRelease'. com.android.build.api.transform.TransformException: java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: ... Learn how to resolve the issue at https://developer.android.com/studio/build/dependencies#duplicate_classes. Program type already present: com.google.android.youtube.player.YouTubeApiServiceUtil'

Мои вопросы таковы: почему исключение повторяющегося класса происходит только во время выпуска, когда междуrelease и отладку buildTypes?

EDIT Я решил проблему, удалив зависимость библиотеки YouTubePlayer в gradle (очевидно, моя реализация службы YT Google привела к созданию внутренней библиотекибыть созданным, поэтому в зависимости от импортируемого был избыточным?).Это все еще оставляет мой вопрос в силе.Почему отладка работала, а не релиз, когда ничего не было объявлено иначе?

...