AndroidX. Не удалось определить артефакты для androidx.multidex: multidex: 2.0.0 - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь перенести проект в AndroidX.

После 3 минут миграции он завершился с ошибкой:

Ошибки импорта GradleC: \ Users \ user \ AndroidStudioProjects \ project \app \ build.gradle project ': app': невозможно построить конфигурацию проекта Kotlin Подробности: org.gradle.api.artifacts.ResolveException: не удалось разрешить все зависимости для конфигурации ': app: creationDependenciesMetadata'.Caused by: org.gradle.internal.resolve.ArtifactResolveException: Не удалось определить артефакты для androidx.room:room-runtime:2.0.0. Вызвано: org.gradle.api.resources.ResourceException: Не удалось получить ресурс' https://dl.google.com/dl/android/maven2/androidx/room/room-runtime/2.0.0/room-runtime-2.0.0.aar'.Caused от: org.gradle.internal.resource.transport.http.HttpRequestException: не удалось HEAD 'https://dl.google.com/dl/android/maven2/androidx/room/room-runtime/2.0.0/room-runtime-2.0.0.aar'.Caused от: javax.net.ssl.SSLHandshakeException: удаленный хост закрыл соединение во время рукопожатияCauced by: java.io.EOFException: узел SSL некорректно завершил работу

FAILURE: сборка завершилась с исключением.

Что пошло не так:

Не удалось разрешить все зависимости для конфигурации ': app: debugRuntimeClasspath'.

Не удалось определить артефакты для androidx.multidex: multidex: 2.0.0

Не удалось получить ресурс 'https://dl.google.com/dl/android/maven2/androidx/multidex/multidex/2.0.0/multidex-2.0.0.aar'.

Не удалось HEAD' https://dl.google.com/dl/android/maven2/androidx/multidex/multidex/2.0.0/multidex-2.0.0.aar'.

Удаленное хост-соединение закрыло соединение во время рукопожатия. SSL-узел некорректно завершил работу

Попробуйте:

Запустите с параметром --stacktrace, чтобы получить трассировку стека.Запустите с параметром --info или --debug, чтобы получить больше вывода журнала.Запустите --scan, чтобы получить полную информацию.

Получите дополнительную помощь по https://help.gradle.org

Как решить проблему с multidex и Maven?

build.gradle (проект):

buildscript {
    ext.compile_sdk_version = 29
    ext.min_sdk_version = 16
    ext.target_sdk_version = 29
    ext.kotlin_version = '1.3.40'
    ext.supportLibraryVersion = "28.0.0"

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        // Firebase.
        classpath 'com.google.gms:google-services:4.2.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

build.gradle (приложение):

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

android {
    signingConfigs {
        ...
    }
    compileSdkVersion compile_sdk_version
    defaultConfig {
        minSdkVersion min_sdk_version
        targetSdkVersion target_sdk_version
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        debug {
            applicationIdSuffix '.debug'
            debuggable true
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            multiDexEnabled true
        }
        release {
            debuggable false
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            // Adds the "release" signing configuration to the release build type.
            signingConfig signingConfigs.release
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {
    ...
    implementation 'androidx.multidex:multidex:2.0.0'
}

ОБНОВЛЕНИЕ

Я обновил все библиотеки в зависимостях.Затем в build.gradle проекта я добавил

maven { url "https://jitpack.io" }
maven { url "https://maven.google.com" }

к repositories в обеих ветках.После компиляции я получил:

Что пошло не так: не удалось определить зависимости задачи ': app: kaptDebugKotlin'.

Не удалось разрешить все зависимости задачи для конфигурации ': app:kapt '.

Не удалось разрешить androidx.room:room-compiler:2.1.0.

Требуется:

Проект: приложение

Не удалосьразрешение androidx.room:room-compiler:2.1.0.

Не удалось получить ресурс 'https://dl.google.com/dl/android/maven2/androidx/room/room-compiler/2.1.0/room-compiler-2.1.0.pom'.

Не удалось получить' https://dl.google.com/dl/android/maven2/androidx/room/room-compiler/2.1.0/room-compiler-2.1.0.pom'.

Закрытое подключение удаленного хоставо время рукопожатия

Не удалось разрешить androidx.room:room-compiler:2.1.0.

Не удалось получить ресурс 'https://maven.google.com/androidx/room/room-compiler/2.1.0/room-compiler-2.1.0.pom'.

Не удалось получить' https://dl.google.com/dl/android/maven2/androidx/room/room-compiler/2.1.0/room-compiler-2.1.0.pom'.

Закрытое соединение удаленного хоста во время рукопожатия

1 Ответ

0 голосов
/ 28 июня 2019

Я добавил в build.gradle (проект) эти строки:

maven { url "https://jitpack.io" }
maven { url "https://maven.google.com" }

Итак, это выглядит так:

buildscript {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
        maven { url "https://maven.google.com" }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.40"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
        maven { url "https://maven.google.com" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Затем синхронизируется файл Gradle.Он скачал несколько библиотек из Maven.После компиляции я получил еще одну ошибку.Затем я снова нажал Sync Project with Gradle files.

См. Также https://developer.android.com/jetpack/androidx/migrate, чтобы понять, какие библиотеки и стили становятся тем, что в AndroidX.

Странно, но после компиляции и удаления

maven { url "https://jitpack.io" }
maven { url "https://maven.google.com" }

вернувшись с build.gradle, приложение снова запустится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...