jCenter may be shut down right now.
I knew jCenter was already out of support.
But our app is still using it.
After jCenter closed, we can not build for android.
So we use mavenCentral instead of jCenter.
buildscript {
repositories {
- jCenter()
+ mavenCentral()
}
}
and tried to build my project.
I encountered below error.
$ ./gradlew assemble
Could not resolve all artifacts for configuration ':app:debugCompileClasspath'.
> Could not find com.twitter.sdk.android:twitter-core:3.3.0.
Required by:
project :app
> Could not find com.google.ads.mediation:facebook:6.2.0.0.
Required by:
project :app
As far as I searched on maven repository, mavenCentral doesn't have twitter-sdk.
https://search.maven.org/search?q=com.twitter.sdk.android
I know twitter-sdk is already deprecated. but our project is highly depending on it.
We should resolve this problem provisionally.
I don't know hot to get jar file.
Do you have any idea to solve this problem?
com.twitter.sdk.android:twitter-core is EOL and thus should not be used anymore (no support, may contain security problems, ..). The list of repositories this artifact is contained in can be found here: https://mvnrepository.com/artifact/com.twitter.sdk.android/twitter-core?repo=springio-libs-release
If you have tried all repos mentioned on this site without success you can only build the artifact from source yourself: https://github.com/twitter-archive/twitter-kit-android
Unfortunately the Git repository has no releases or tags, so you can't and also the commit log does not contain any info about released versions. But the master branch seem to contain version 3.3.0 (second last commit was "Prepare for May release." which was 3.3.0).
Build the project and install it to your local Maven repo and then add the local Maven repository to your gradle repo list.
I cannot start my Android App if it includes the following line in the dependencies of the module level build.gradle file:
dependencies{
...
implementation 'io.nano:android-tex:1.0.0'
...
}
The gradle sync works without errors.
But when I try to start the app, I get the error that io.nano:android-tex:1.0.0 cannot be found. Here is a part of the error log:
3: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:mergeDebugResources'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
> Could not find io.nano:android-tex:1.0.0.
Searched in the following locations:
- https://dl.google.com/dl/android/maven2/io/nano/android-tex/1.0.0/android-tex-1.0.0.pom
- https://repo.maven.apache.org/maven2/io/nano/android-tex/1.0.0/android-tex-1.0.0.pom
Required by:
project :app
It seems to me that the URLs are simply wrong. https://repo.maven.apache.org/maven2/io/nano/android-tex/1.0.0/android-tex-1.0.0.pom does not lead to anywhere useful.
But the library exists on maven (see here: https://mvnrepository.com/artifact/io.nano/android-tex/1.0.0).
Is my gradle not smart enough to search at the right place?
A couple of months ago, I successfully used 'io.nano:android-tex:1.0.0' in a project. But after updating Android Studio to Bumblebee and updating gradle from 7.0.2 to 7.2, it does not work anymore. (I don't know if those upgrades are the reason, though, because it has been months since I had worked on the project the last time).
Can anyone help with this? I just want to find a way to use 'io.nano:android-tex:1.0.0' again in an Android App.
--- EDIT ---
I have also added jcenter to my repositories in my project level gradle file (to check if that makes a difference):
repositories {
google()
mavenCentral()
jcenter()
}
Unfortunately, that does not help.
from github site:
Library is available in jcenter repository, add this script to your build.gradle file to install:
you should add jcenter() to your libs repository, but remember that jcenter is kind-of deprecated. ask lib author for moving to more reliable repository
I'm getting an error every time I try to run 'react-native run-android' or './gradlew bundleRelease' for my React Native project.
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine the dependencies of task ':app:collectReleaseDependencies'.
> Could not resolve all task dependencies for configuration ':app:releaseRuntimeClasspath'.
> Could not resolve org.webkit:android-jsc:+.
Required by:
project :app
> Failed to list versions for org.webkit:android-jsc.
> Unable to load Maven meta-data from https://jcenter.bintray.com/org/webkit/android-jsc/maven-metadata.xml.
> Could not HEAD 'https://jcenter.bintray.com/org/webkit/android-jsc/maven-metadata.xml'.
> Read timed out
* 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
Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.7/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 2m 37s
Here's my build.gradle file:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext {
buildToolsVersion = "29.0.3"
minSdkVersion = 24
compileSdkVersion = 30
targetSdkVersion = 30
supportLibVersion = "28.0.0"
googlePlayServicesAuthVersion = "16.0.1"
}
repositories {
google()
mavenCentral()
mavenCentral()
}
dependencies {
classpath 'com.facebook.react:react-native:0.12.+'
classpath 'com.android.tools.build:gradle:4.0.0'
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 {
mavenCentral()
mavenLocal()
maven {
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
url("$rootDir/../node_modules/react-native/android")
}
maven {
// Android JSC is installed from npm
url("$rootDir/../node_modules/jsc-android/dist")
}
maven {
// expo-camera bundles a custom com.google.android:cameraview
url "$rootDir/../node_modules/expo-camera/android/maven"
}
maven { url 'https://maven.google.com' }
maven { url 'https://www.jitpack.io' }
google()
jcenter()
}
}
I can't find any an information about why this is happening bar adding 'www.' to 'https://www.jitpack.io' but it already has that.
'react-native run-android' was working yesterday, since then I changed emulator and also changed java version.
Does anyone know why this is happening?
JCenter is going to shutdown and now is READ-ONLY. And it is getting offline often causing issues with builds and pipelines.
In summary
You will require to update your android/build.gradle file to use mavenCentral() instead of Jcenter().
As per Gradle documentation, JCenter is a mirror of Maven Central, so all of your dependencies should be there.
JCenter is a central artifact repository, like Maven Central. Software
projects use JCenter to distribute their software to other people.
JCenter also serves as a mirror for Maven Central, so any dependencies
available on Maven Central are also available on JCenter (but not vice
versa).
A few things to consider:
In case it is a library (e.g node_modules/react-native-appsflyer), pointing to Jcenter, that is giving you an error... I would advise you to check the library giving you an error has updated a new version with a fix. In case so, update to the new
version to get the changes.
In case the library doesn't have versions with the fix, if you are building in React-native using npm packages, you could potentially take advantage of patch-package library. Because there will a possibility the libraries have not yet released the update removing JCenter from build.gradle.
Applying the patch
You can apply the changes yourself using the Patch Package library. Documentation added in the end for reference.
Go to node_modules/library-with-error/android/build.gradle
Change jcenter() to mavenCentral()
Run: npx patch-package library-with-error
Git add, commit and push
Personal notes:
I did advise the full removal of JCenter instead of adding MavenCentral() to the top because of the shutdown and that JCenter is often getting offline and giving timeout errors.
Based on the current timeline, builds that use JCenter will be able to
resolve dependencies until February 1, 2022 without changes. After
that date, there are no guarantees that you will be able to build
your software if you continue to use JCenter."
Also, Gradle is discouraging the usage of JCenter.
"To discourage new projects from using JCenter, we will be removing
JCenter from our samples and init templates. The new default will be
Maven Central. Gradle itself has no inherent tie to JCenter or Maven
Central, so you can always switch any other repository of your choice.
This change will be effective with the next Gradle release – Gradle
7.0."
In case of dependencies (pom, jar) are not added to Maven, here are instructions on how to add. Add that to the PR with discussions to collaborate.
Useful Links
Add --use-yarn to patch-package command in case your project uses Yarn.
Documentation using Patch package.
We also just ran into this. I believe JCenter is down right now. https://status.bintray.com/
FAILURE: Build failed with an exception.
What went wrong:
Could not determine the dependencies of task ':app:lintVitalRelease'.
Could not resolve all artifacts for configuration ':app:debugRuntimeClasspath'.
Could not resolve org.webkit:android-jsc:+.
Required by:
project :app
> Failed to list versions for org.webkit:android-jsc.
> Unable to load Maven meta-data from https://jcenter.bintray.com/org/webkit/android-jsc/maven-metadata.xml.
> Could not HEAD 'https://jcenter.bintray.com/org/webkit/android-jsc/maven-metadata.xml'.
> Read timed out
Make sure that you are using mavenCentral repository instead of jcenter
https://mvnrepository.com/artifact/org.webkit/android-jsc
JCenter is going to shutdown and now is READ-ONLY. And it is getting offline often causing issues with builds and pipelines.
In summary
You will require to update your android/build.gradle file to use mavenCentral() instead of Jcenter().
As per Gradle documentation, JCenter is a mirror of Maven Central, so all of your dependencies should be there.
JCenter is a central artifact repository, like Maven Central. Software
projects use JCenter to distribute their software to other people.
JCenter also serves as a mirror for Maven Central, so any dependencies
available on Maven Central are also available on JCenter (but not vice
versa).
A few things to consider:
In case it is a library (e.g node_modules/react-native-appsflyer), pointing to Jcenter, that is giving you an error... I would advise you to check the library giving you an error has updated a new version with a fix. In case so, update to the new
version to get the changes.
In case the library doesn't have versions with the fix, if you are building in React-native using npm packages, you could potentially take advantage of patch-package library. Because there will a possibility the libraries have not yet released the update removing JCenter from build.gradle.
Applying the patch
You can apply the changes yourself using the Patch Package library. Documentation added in the end for reference.
Go to node_modules/library-with-error/android/build.gradle
Change jcenter() to mavenCentral()
Run: npx patch-package library-with-error
Git add, commit and push
Personal notes:
I did advise the full removal of JCenter instead of adding MavenCentral() to the top because of the shutdown and that JCenter is often getting offline and giving timeout errors.
Based on the current timeline, builds that use JCenter will be able to
resolve dependencies until February 1, 2022 without changes. After
that date, there are no guarantees that you will be able to build
your software if you continue to use JCenter."
Also, Gradle is discouraging the usage of JCenter.
"To discourage new projects from using JCenter, we will be removing
JCenter from our samples and init templates. The new default will be
Maven Central. Gradle itself has no inherent tie to JCenter or Maven
Central, so you can always switch any other repository of your choice.
This change will be effective with the next Gradle release – Gradle
7.0."
In case of dependencies (pom, jar) are not added to Maven, here are instructions on how to add. Add that to the PR with discussions to collaborate.
Useful Links
Add --use-yarn to patch-package command in case your project uses Yarn.
Documentation using Patch package.
The gradle icon is on the right.
Turn off your wifi and then build again.
I cant seem to get build tools for the latest gradle at all. I suspect its something to do with proxy setting for gradle. I have had a good look online but still cant seem to find a solution. I use gradle 2.1.
I created gradle.properties file in my /home/user/.gradle folder with these setting.
systemProp.http.proxyHost=proxy
systemProp.http.proxyPort=80
systemProp.http.proxyUser=myusername
systemProp.http.proxyPassword=password
systemProp.https.proxyHost=proxy
systemProp.https.proxyPort=80
systemProp.https.proxyUser=myusername
systemProp.https.proxyPassword=password
Here is my global build.gradle
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.13.0'
classpath fileTree(dir: 'build-libs', include: '*.jar')
}
}
allprojects {
repositories {
mavenCentral()
}
}
And here is the error i get when running gradlew
Could not HEAD 'https://repo1.maven.org/maven2/com/android/tools/build/gradle/0.13.0/gradle-0.13.0.pom'.
peer not authenticated
What am I missing? that maven link opens fine in a browser.
Right, I'm not sure if it will work for others but worked for me.
I changed proxyPort to 8080 and used jcenter instead of Maven. But I had to apply expeption to use HTTP instead of HTTPS. This is what I have in my build.gradle for build script and allprojects
buildscript {
repositories {
jcenter {
url "http://jcenter.bintray.com/"
}
}
}
allprojects {
repositories {
jcenter {
url "http://jcenter.bintray.com/"
}
}
}
UPDATE: 06/08
I have recently updated Gradle and plugin version and had some problems. It was complaining about plugin com.android.application
I did some digging around and changed
jcenter {
url "http://jcenter.bintray.com/"
}
to
repositories {
maven { url 'http://repo1.maven.org/maven2' }
}
Find and Replace:
jcenter()
maven {
url "https://maven.google.com"
}
to:
maven {
url "https://maven.google.com"
}
jcenter()
For newer android studio 3.0.0 and gradle update, this needed to be included in project level build.gradle file for android Gradle build tools and related dependencies since Google moved to its own maven repository.
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
// NOTE: Do not place your application dependencies here; they belong
}
}
allprojects {
repositories {
jcenter()
google()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
I'm using Gradle plugin 3.0.1 and saw this error. Not sure what caused this but the solution that works for me is to stop the running Gradle daemon by ./gradlew --stop.
The solution is in your build.gradle change this block:
allprojects {
repositories {
jcenter()
google()
}
}
to google in first position :
allprojects {
repositories {
google()
jcenter()
}
}
late but it worked for me:
change your dns setting by going Network and sharing center.
In left pane choose change adapter setting
-right click on your network connection
-properties
-select ipv4
-properties
- now in dns server setting:-
-choose the option use the following dns server addresses
and use google dns server 8.8.8.8 as preferred dns server and
8.8.4.4 as alternate dns server.
it will solve your problem.
In the Android Studio v4.0, you should be off the Gradle offline-mode and retry to sync Gradle.
I try to modify the repositories and import the cer to java, but both failed, then I upgrade my jdk version from 1.8.0_66 to 1.8.0_74, gradle build success.
I got the same problem. Just use File->INVALIDATE CACHES AND RESTART
6 years later here, but for them who are stil facing this issue, I solved it as following.
It happened when my module had a different gradle version than the main project. I had gradle version 3.5.3 in project and an older version in module. So, I Just updated that version. The file is here:
./node-modules/[module-name]/android/build.gradle
In my case deleting the .gradle folder worked for me.
In my case, my Android Studio version was 3.6.1 and i have modified the classpath like below;
classpath 'com.android.tools.build:gradle:3.6.1'
and that error was gone.
Go to
File --> Invalidate Caches / Restart.
It worked for me.
Android Studio > view > tool Windows > Gradle > click toggle offline mode (besides gradle settings icon)
this work for me :)
I had a same problem and I fix it with the following steps:
check the event log and if you see the errors like "cash version
is not available for the offline mode" follow the steps.
click on View => Gradle then new window will open.
click on the WIFI icon and then sync the Gradle.
"if you see different errors from what I mentioned in number one,
please go to the file -> project structure -> and there is suggestion"
Tools > SDK Manager > SDK Tools > Show Package Details
and remove all the old versions
I installed new Android Studio and faced with this problem. Nothing is helped me except of downloading a few more Android SDK versions:
Added Android Q and Android Pie to downloaded and installed SDK
Well if anyone facing with this problem after updating android studio to 4.2, the problem is about kotlin version. changing cotlin version line from "ext.kotlin_version = "1.5.0-release-764" to "ext.kotlin_version = "1.5.0" may solve your issue. Here is the link which has more information about it:
https://exerror.com/cant-create-new-kotlin-project-after-updating-to-android-studio-4-2/
You should have gradle-wrapper.properties inside gradle/wrapper folder.
Make sure you are using the right distributionURL, and the latest one. It should look something like this :
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
I Updated my android studio to latest version: Android Studio - Arctic Fox | 2020.3.1
Then it was showing this error. To solve this error, you have to follow these steps:
File>project Structure>project
Change Android Gradle Plugin version: 7.0.0 and Gradle Version: 7.0.2
then Go to file>setting>Build, Execution, Deployment>Build Tools>Gradle
change Gradle JDK to 11 version if it is 1.8 version.
if notification popup for Gradle upgraded then tap on it and click on run selected steps.
sync project and rebuild your project if necessary.
I hope it will work for you, Thanks me later.
I encountered a similar issue while building a Java project on Jenkins using Gradle.
When I run the build on Jenkins, at some point it throws the error below:
22:37:05 + GRADLE_OPTS='-Xms8192M -Xmx8192M'
22:37:05 + gradle clean build '-Dorg.gradle.jvmargs=-XX:MaxPermSize=4096M -Xms4096M -Xmx8192M' --full-stacktrace
22:37:05
22:37:05 Welcome to Gradle 5.6.4!
22:37:05
22:37:05 Here are the highlights of this release:
22:37:05 - Incremental Groovy compilation
22:37:05 - Groovy compile avoidance
22:37:05 - Test fixtures for Java projects
22:37:05 - Manage plugin versions via settings script
22:37:05
22:37:05 For more details see https://docs.gradle.org/5.6.4/release-notes.html
22:37:05
22:37:05 Starting a Gradle Daemon (subsequent builds will be faster)
22:37:14 > Task :my-service:clean UP-TO-DATE
22:37:18 > Task :my-service:compileJava FAILED
22:37:18
22:37:18 FAILURE: Build failed with an exception.
22:37:18
22:37:18 * What went wrong:
22:37:18 Execution failed for task ':my-service:compileJava'.
22:37:18 > Could not resolve all files for configuration ':my:compileClasspath'.
22:37:18 > Could not download spring-boot-autoconfigure.jar (org.springframework.boot:spring-boot-autoconfigure:2.1.14.RELEASE)
22:37:18 > Could not get resource 'https://nexus.my-test.network/repository/maven-public/org/springframework/boot/spring-boot-autoconfigure/2.1.14.RELEASE/spring-boot-autoconfigure-2.1.14.RELEASE.jar'.
22:37:18 > Premature end of Content-Length delimited message body (expected: 1276879; received: 496657
22:37:18
22:37:18 * Try:
22:37:18 Run with --info or --debug option to get more log output. Run with --scan to get full insights.
Here's how I fixed it:
So first I looked the previous builds and they were building fine except this last one, also we had not changed anything in the build process.
The issue was with our Nexus artifactory server that has not been running fine. The server stops responding sometimes.
I just restarted the server and re-tried the build and it worked fine.
That's all
**A problem occurred evaluating project ':app'.
Could not resolve all files for configuration 'classpath'.**
Solution:
Platform->cordova-support-google-services
In this file
Replace
classpath 'com.android.tools.build:gradle:+' to this
classpath 'com.android.tools.build:gradle:3.+'
There seems to be many different causes to this problem. My cause is different from other posted answers, so I'll go ahead and explain what my problem was just in case it's useful.
I have a set of custom gradle plugins that for all practical purposes can be thought of as a wrapper around four familiar plugins: "com.android.application", "com.application.library", "java" and "java-library". These wrapper plugin are responsible for actually applying those familiar plugins, along with supplying configuration data. The result is that it simplifies the "build.gradle.kts" scripts for modules in my various projects.
My wrapper plugin for the "java-library". Is pretty straight forward. It applies the "java-library" plugin and adds the "sourceCompatibility" and "targetCompatibility" values. I followed the pattern that others have suggested on how to set those values. Essentially doing something like: "project.tasks.withType<JavaCompile> { sourceCompatibility = ... }" That's what caused my problem. I changed the above to:
val javaExt:JavaPluginExtension = project.extensions.get("java") as JavaPluginExtension
javaExt.sourceCompatibility = JavaVersion.toVersion( versions.getProperty("java-source-compatibility"))
javaExt.targetCompatibility = JavaVersion.toVersion( versions.getProperty("java-target-compatibility"))
And that solved the issue for me! The only useful information I got from gradle on resolving the problem is that it let me know the offending module, which was a module that didn't need any dependencies. In order to track down what was going on, I put the offending module into a separate project. That's where I discovered that the problem was definitely related to my custom "java-library" wrapper plugin.
I basically just removed jcenter() from my repositories of project gradle in buildscript block, since i declared it in my app gradle.
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
ext.kotlin_version = '1.3.72'
repositories {
google()
mavenLocal()
mavenCentral()
jcenter() //remove this line
}
you should have gradle.properties file defined for the build with proxy settings so that gradle knows how to use http connection
# This file contains the basics for Maven Version control and will be used by the Artifactory Release management
# These settings are for the root project and all sub-projects in this application
releaseVersion=1.0.0-SNAPSHOT
releaseGroup=com.xx.xx.xx
artifactory_user=
artifactory_password=
artifactory_contextUrl=https://artifactory.xxxx.com/artifactory/
systemProp.http.proxyHost=proxy.xxx.com
systemProp.http.proxyPort=8080
systemProp.https.proxyHost=proxy.xxx.com
systemProp.https.proxyPort=8080
systemProp.http.nonProxyHosts=*.xxx.com|localhost|*.int.targoe.com
org.gradle.java.home=C:\\Program Files (x86)\\Java\\jdk1.8.0_121
I had this issue and it was because I hadn't added an exception for gradle in my firewall (TinyWall).
I got this issue solved by switching internet from Wifi to mobile hot-spot. It means this issue occurs due to network issue. I could also see below logs which confirms my understanding,
Connect to jcenter.bintray.com:443
[jcenter.bintray.com/75.126.118.188] failed: Connection timed out:
connect
and
Connect to repo1.maven.org:443 [repo1.maven.org/151.101.36.209]
failed: Connection timed out: connect
Hope it helps.
If adding google() into your build.gradle doesn't work try adding it at first place in your repositories section of node_modules/YOUR_PACKAGE/android/build.gradle file.
I am working with flutter in the VS Code.
In my case, I solved it by
stopping gradlew process in VS code using the below command
android/gradlew --stop
I changed the ext.kotlin_version in "build.gradle" to the previous one (from 1.5.0 back to 1.4.32) and that worked for me. Maybe the current Gradle version wasn't compatible with it.