Reputation: 28835
I try to migrate a project to AndroidX.
After 3 minutes of migrating it finished with error:
Gradle import errorsC:\Users\user\AndroidStudioProjects\project\app\build.gradleproject ':app': Unable to build Kotlin project configurationDetails: org.gradle.api.artifacts.ResolveException: Could not resolve all dependencies for configuration ':app:implementationDependenciesMetadata'.Caused by: org.gradle.internal.resolve.ArtifactResolveException: Could not determine artifacts for androidx.room:room-runtime:2.0.0Caused by: org.gradle.api.resources.ResourceException: Could not get resource 'https://dl.google.com/dl/android/maven2/androidx/room/room-runtime/2.0.0/room-runtime-2.0.0.aar'.Caused by: org.gradle.internal.resource.transport.http.HttpRequestException: Could not HEAD 'https://dl.google.com/dl/android/maven2/androidx/room/room-runtime/2.0.0/room-runtime-2.0.0.aar'.Caused by: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshakeCaused by: java.io.EOFException: SSL peer shut down incorrectly
FAILURE: Build failed with an exception.
What went wrong:
Could not resolve all dependencies for configuration ':app:debugRuntimeClasspath'.
Could not determine artifacts for androidx.multidex:multidex:2.0.0
Could not get resource 'https://dl.google.com/dl/android/maven2/androidx/multidex/multidex/2.0.0/multidex-2.0.0.aar'.
Could not HEAD 'https://dl.google.com/dl/android/maven2/androidx/multidex/multidex/2.0.0/multidex-2.0.0.aar'.
Remote host closed connection during handshake SSL peer shut down incorrectly
Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Get more help at https://help.gradle.org
How to solve a problem with multidex
and Maven
?
build.gradle (project):
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 (app):
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'
}
UPDATE
I updated all libraries in dependencies. Then in project's build.gradle I added
maven { url "https://jitpack.io" }
maven { url "https://maven.google.com" }
to repositories
in both branches. After compilation I got:
What went wrong: Could not determine the dependencies of task ':app:kaptDebugKotlin'.
Could not resolve all task dependencies for configuration ':app:kapt'.
Could not resolve androidx.room:room-compiler:2.1.0.
Required by:
project :app
Could not resolve androidx.room:room-compiler:2.1.0.
Could not get resource 'https://dl.google.com/dl/android/maven2/androidx/room/room-compiler/2.1.0/room-compiler-2.1.0.pom'.
Could not GET 'https://dl.google.com/dl/android/maven2/androidx/room/room-compiler/2.1.0/room-compiler-2.1.0.pom'.
Remote host closed connection during handshake
Could not resolve androidx.room:room-compiler:2.1.0.
Could not get resource 'https://maven.google.com/androidx/room/room-compiler/2.1.0/room-compiler-2.1.0.pom'.
Could not GET 'https://dl.google.com/dl/android/maven2/androidx/room/room-compiler/2.1.0/room-compiler-2.1.0.pom'.
Remote host closed connection during handshake
Upvotes: 1
Views: 5553
Reputation: 28835
I added in build.gradle
(project) these lines:
maven { url "https://jitpack.io" }
maven { url "https://maven.google.com" }
So, it looks like:
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
}
Then synced gradle file. It downloaded some libraries from Maven. After compiling I got another error. Then I pressed Sync Project with Gradle files
again.
See also https://developer.android.com/jetpack/androidx/migrate to understand what library and styles becomes what in AndroidX.
Strange, but after compiling and removing
maven { url "https://jitpack.io" }
maven { url "https://maven.google.com" }
back from build.gradle
, the application run again.
Upvotes: 4