apk не генерируется из-за ошибки в зависимости - PullRequest
0 голосов
/ 01 апреля 2020

Ниже приведен мой файл уровня приложения.

dependencies 
    {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.google.android.gms:play-services-ads:19.0.1'
}   

Это работало нормально, пока я не добавил последнюю зависимость. С тех пор apk не генерируется.

Ниже приведен вывод сборки

Ошибка слияния манифеста: Атрибут application@appComponentFactory value = (android .support.v4.app.CoreComponentFactory) от [com. android .support: support-compat: 28.0.0] AndroidManifest. xml: 22: 18-91 также присутствует на [androidx.core: core: 1.0.0] AndroidManifest. xml: 22: 18-86 value = (androidx.core.app.CoreComponentFactory). Предложение: добавьте 'tools: replace = "android: appComponentFactory"' к элементу на AndroidManifest. xml: 8: 5-23: 19, чтобы переопределить.

Я попытался изменить

com.google. android .gms: play-services-ads: 19.0.1

до 11.0.0 Это помогло мне в создании apk, но с предупреждением, что «Все библиотеки com. android .support должны использовать одинаковые спецификации версий (смешивание версий может привести к сбоям во время выполнения)»

Я совершенно не знаю об этом, поэтому Не могу получить помощь от других подобных вопросов и задать их напрямую.

Это нормально, если я разверну его в PlayStore с этим предупреждением? Или есть какой-нибудь способ, которым я могу избавиться от него с '19 .0.1 '?

1 Ответ

0 голосов
/ 01 апреля 2020

Добавьте ниже код в нижней части уровня вашего проекта build.gradle и syn c ваш проект

subprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.google.android.gms'
                    && !details.requested.name.contains('multidex')) {
                details.useVersion "19.0.1"
            }
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex')) {
                details.useVersion "28.0.0"
            }
        }
    }
}
...