Gradle Build Android Project "Could not resolve all dependencies" error
AndroidGradleAndroid Support-Librarybuild.gradleAndroid AppcompatAndroid Problem Overview
I'm trying to build my first project with Gradle and I think my gradle files and settings are correct.
I'm using only one module and Support V4 + AppCompatBar libraries.
Project - build.gradle
allprojects {
repositories {
mavenCentral()
}
}
Project - settings.gradle
include ':AssignmentTempos21'
Main module - build.gradle
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.5.+'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
android {
compileSdkVersion 17
buildToolsVersion "17.0.0"
defaultConfig {
minSdkVersion 8
targetSdkVersion 17
}
}
dependencies {
compile "com.android.support:support-v4:18.0.+"
compile "com.android.support:appcompat-v7:18.0.+"
}
Console output with -i flag:
MacBook-Air-de-Cesar-2:AssignmentTempos21 menor$ ./gradlew -i clean assemble
Starting Build
Settings evaluated using settings file '/Users/menor/workspace_android/AssignmentTempos21/settings.gradle'.
Projects loaded. Root project using build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle'.
Included projects: [root project 'AssignmentTempos21', project ':AssignmentTempos21']
Evaluating root project 'AssignmentTempos21' using build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle'.
Compiling build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle' using BuildScriptClasspathScriptTransformer.
Compiling build file '/Users/menor/workspace_android/AssignmentTempos21/build.gradle' using BuildScriptTransformer.
Evaluating project ':AssignmentTempos21' using build file '/Users/menor/workspace_android/AssignmentTempos21/AssignmentTempos21/build.gradle'.
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/support-v4/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/maven-metadata.xml]
Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/support/appcompat-v7/]
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':AssignmentTempos21'.
> Failed to notify project evaluation listener.
> Could not resolve all dependencies for configuration ':AssignmentTempos21:_DebugCompile'.
> Could not find any version that matches com.android.support:support-v4:18.0.+.
Required by:
AssignmentTempos21:AssignmentTempos21:unspecified
> Could not find any version that matches com.android.support:appcompat-v7:18.0.+.
Required by:
AssignmentTempos21:AssignmentTempos21:unspecified
* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output.
BUILD FAILED
Total time: 40.787 secs
Android Solutions
Solution 1 - Android
As Peter says, they won't be in Maven Central
from the Android SDK Manager download the 'Android Support Repository' and a Maven repo of the support libraries will be downloaded to your Android SDK directory (see 'extras' folder)
to deploy the libraries to your local .m2 repository you can use maven-android-sdk-deployer
2017 edit:
you can now reference the Google online M2 repo
repositories {
google()
jcenter()
}
Solution 2 - Android
Go to wherever you installed Android Studio (for me it's under C:\Users\username\AppData\Local\Android\android-studio\
) and open sdk\tools
, then run android.bat
. From here, update and download any missing build-tools and make sure you update the Android Support Repository and Android Support Library under Extras. Restart Android Studio after the SDK Manager finishes.
It seems that Android Studio completely ignores any installed Android SDK files and keeps a copy of its own. After running an update, everything compiled successfully for me using compile com.android.support:appcompat-v7:18.0.+
Solution 3 - Android
If you are running on headless CI and are installing the Android SDK through command line, make sure to include the m2repository packages in the --filter
argument:
android update sdk --no-ui --filter platform-tools,build-tools-19.0.1,android-19,extra-android-support,extra-android-m2repository,extra-google-m2repository
Update
As of Android SDK Manager rev. 22.6.4 this does not work anymore. Try this instead:
android list sdk --all
You will get a list of all available SDK packages. Look up the numerical values of the components from the first command above ("Google Repository" and others you might be missing).
Install the packages using their numerical values:
android update sdk --no-ui --all --filter <num>
Update #2 (Sept 2017)
With the "new" Android SDK tools that were released earlier this year, the android
command is now deprecated, and similar functionality has been moved to a new tool called sdkmanager
:
List installed components:
sdkmanager --list
Update installed components:
sdkmanager --update
Install a new component (e.g. build tools version 26.0.0
):
sdkmanager 'build-tools;26.0.0'
Solution 4 - Android
These dependencies don't exist in Maven Central (see this).
Solution 5 - Android
compileSdkVersion 17
targetSdkVersion 17
change the compile version from 18 to 17
compile "com.android.support:support-v4:17.0.+"
compile "com.android.support:appcompat-v7:17.0.+"
Solution 6 - Android
In addition to Kassim's answer:
> As Peter says, they won't be in Maven Central > > Either use maven-android-sdk-deployer to deploy the libraries to your > local repository > > Or from Android SDK Manager download the Android Support Repository > (in Extras) and an M2 repo of the support libraries will be downloaded > to your Android SDK directory
I also had to update the "Local Maven repository for Support Libraries" in Android SDK Manager.
Solution 7 - Android
to echo @friederbluemle, you can also just launch the SDK manager from the command line if you have the Android SDK tools installed:
$ android
and then in the UI that pops up, select the tools/repositories that need to be installed -- in your case the support library repo
Solution 8 - Android
write following statement in your app's build.gradle file.
com.android.support:appcompat-v7:18.0.+
That's it
Solution 9 - Android
Try to turn off your firewall, it works for me
. It seems that android studio wants to download some dependencies and our firewall prevents it from downloading it, just be aware that turning your firewall off may lower the security of your computer
. If you have more time you can manually allow your android studio to bypass your firewall, this way you can turn on your firewall while allowing android studio to download anything that it wants.
Solution 10 - Android
I had this message in Android Studio 2.1.1 in the Gradle Build tab. I installed a lot of files from the SDK Manager but it did not help.
I needed to click the next tab "Gradle Sync". There was a link "Install Repository and sync project" which installed the "Android Support Repository".
Solution 11 - Android
- Install android sdk manager
- check if building tools installed. install api 23.
- from the Android SDK Manager download the 'Android Support Repository'
- remove cordova-plugin-android-support-v4
- build
Solution 12 - Android
Add this to your gradle:
allprojects {
buildscript {
repositories {
maven {
url "https://dl.bintray.com/android/android-tools"
}
}
}
...
}