Несовместимость Flutter & AndroidX Как установить зависимость вручную - PullRequest
0 голосов
/ 07 июня 2019

Я получаю сообщение об ошибке при компиляции из-за несовместимости AndroidX:

Зависимость Android 'androidx.vectordrawable: vectordrawable' имеет разные версии для пути к классам compile (1.0.0) и runtime (1.0.1). Вы должны вручную установить ту же версию через DependencyResolution

подписан на -> этот пост <- </a> Я добавил код в build.gradle

allprojects {

configurations.all {
    resolutionStrategy.force"androidx.vectordrawable:vectordrawable:1.0.0",
}
repositories {
    google()
    jcenter()
}

следующий запуск дал мне эту другую ошибку

Зависимость Android 'androidx.core: core' имеет разные версии для пути к классам компиляции (1.0.0) и среды выполнения (1.0.1). Вы должны вручную установить ту же версию через DependencyResolution

Я пытался добавить это

"androidx.vectordrawable: vectordrawable: 1.0.0", "androidx.core: ядро: 1.0.0",

но я, вероятно, делаю это неправильно, так как я получаю классическое "неожиданное бла-бла-бла"

есть предложения?

заранее спасибо

[править] Я тоже пробовал этот старый трюк, но он не работал (также понижение качества пакетов по мере необходимости ЗДЕСЬ )

rootProject.allprojects {
    project.configurations.all {
        resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'androidx.core') {
                details.useVersion "1.0.1"
            }
            if (details.requested.group == 'androidx.lifecycle') {
                details.useVersion "2.0.0"
            }
            if (details.requested.group == 'androidx.versionedparcelable') {
                details.useVersion "1.0.0"
            }
        }
    }
}

теперь возвращает другую ошибку

Зависимость Android 'androidx.appcompat: appcompat' имеет разные версии для пути к классам компиляции (1.0.0) и времени выполнения (1.0.2). Вы должны вручную установить ту же версию через DependencyResolution

1 Ответ

1 голос
/ 07 июня 2019
  1. В android / gradle / wrapper / gradle-wrapper.properties измените строку, начинающуюся с distributionUrl, следующим образом: distributionUrl = https://services.gradle.org/distributions/gradle-4.10.2-all.zip

2. В android / build.gradle замените:

dependencies {
    classpath 'com.android.tools.build:gradle:3.2.1'
}

от

dependencies {
  classpath 'com.android.tools.build:gradle:3.3.0'
}

3. В android / gradle.properties, добавьте

android.enableJetifier=true
android.useAndroidX=true

4. В android / app / build.gradle:

Под android {убедитесь, что compileSdkVersion и targetSdkVersion имеют по крайней мере 28.

5. Замените все устаревшие библиотеки эквивалентами AndroidX.Например, если вы используете файлы .gradle по умолчанию, внесите следующие изменения:

В android / app / build.gradle

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

от

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

Наконец, под зависимостями замените

androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

на

androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...