Android Studio Gradle: Please remove usages of `jcenter()` Maven repository from your build scripts / JCenter is at end of life

In Android Studio 4.2 there is a warning:

enter image description here

buildscript {
    ext.kotlin_version = '1.5.0'

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

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

If I remove jcenter() then it can't find some dependencies of my app project:

   > Could not find org.koin:koin-core:2.0.1.
     Required by:
         project :app
   > Could not find org.koin:koin-androidx-scope:2.0.1.
     Required by:
         project :app
   > Could not find org.koin:koin-androidx-viewmodel:2.0.1.
     Required by:
         project :app
   > Could not find com.google.ads.mediation:chartboost:8.1.0.0.
     Required by:
         project :app

In replace of jcenter() I added mavenCentral()


Solution 1:

Move mavenCentral() above jcenter().

do a clean/build on your project.

comment out jcenter()

By moving mavenCentral() above jcenter(), mavenCentral() now becomes the primary repository for all non Google artifacts. By doing a clean and build, all artifacts are now moved to mavenCentral().

I had to look this up and tried it. I went from all heck breaking loose after I removed jcenter() to being able to build my final project for school again.

Solution 2:

For koin, change the group id from org.koin to io.insert-koin - the latter is published on maven central.

For chartboost, you can use the following repo:

maven {
    url "https://dl.bintray.com/google/mobile-ads-adapters-android/"
}

Also note that there are newer versions such as koin 2.2.2 / 3.0.1 and chartboost 8.2.0.0. Older versions are likely not republished in non-jcenter repos.

mvnrepository is a good service for locating packages.

Solution 3:

just commenting out jcenter() will help, mavencentral() is already above jcenter.