Missing Dependencies with Gradle?
android, gradle, intellij-idea
Solution
Not every library is available in Maven Central repository. Sometimes you have to add other repositories to your build or build the project yourself and publish to local Maven repo.
`com.android.volley` - is not available in Maven Central, but you can either build it yourself and push to local Maven repository or use volley-mirror project, which is published to Maven Central.
`com.facebook.android` - you have to install it to use in your project. Instructions are available here.
`com.handmark.pulltorefresh` - it is published to Maven Central under com.github.chrisbanes.pulltorefresh
`com.readystatesoftware.android-simpl3r` - same as above, it is published to Maven Central under com.github.manuelpeinado.refreshactionitem
Problem
I'm bootstrapping for an Android project, which seems to be managed with Gradle. To be honest I'm a complete newb with Gradle, so I'm slowly gearing up. Here's the output of my gradle wrapper: ``` C:\Users\Daniel\Projects\JustSingIt-Android [feature/no-newrelic +0 ~1 -0]> .\gradlew --info Starting Build Settings evaluated using settings file 'C:\Users\Daniel\Projects\JustSingIt- Android\settings.gradle'. Projects loaded. Root project using build file 'C:\Users\Daniel\Projects\JustSingIt-Android\build.gradle'. Included projects: [root project 'JustSingIt-Android', project ':JustSingIt'] Evaluating root project 'JustSingIt-Android' using build file 'C:\Users\Daniel\Projects\JustSingIt-Android\build.grad'. Evaluating project ':JustSingIt' using build file 'C:\Users\Daniel\Projects\JustSingIt-Android\JustSingIt\build.gradl' Compiling build file 'C:\Users\Daniel\Projects\JustSingIt- Android\JustSingIt\build.gradle' using BuildScriptClasspathiptTransformer. Compiling build file 'C:\Users\Daniel\Projects\JustSingIt-Android\JustSingIt\build.gradle' using BuildScriptTransform Relying on packaging to define the extension of the main artifact has been deprecated and is scheduled to be removed Gradle 2.0 Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/android/volley/volley/1.0/volley-1.0.pom] Resource missing. [HTTP HEAD: http://repo1.maven.org/maven2/com/android/volley/volley/1.0/volley-1.0.jar] Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/readystatesoftware/android-simpl3r/maven-metadata.xml] Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/readystatesoftware/android-simpl3r/] Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/readystatesoftware/android-simpl3r/maven-metadata.xml] Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/readystatesoftware/android-simpl3r/] Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/handmark/pulltorefresh/library/2.1.1/library-2.1.1.pom Resource missing. [HTTP HEAD: http://repo1.maven.org/maven2/com/handmark/pulltorefresh/library/2.1.1/library-2.1.1.ja Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/facebook/android/facebook-sdk/maven-metadata.xml] Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/facebook/android/facebook-sdk/] Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/facebook/android/facebook-sdk/maven-metadata.xml] Resource missing. [HTTP GET: http://repo1.maven.org/maven2/com/facebook/android/facebook-sdk/] FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring project ':JustSingIt'. > Could not resolve all dependencies for configuration ':JustSingIt:_debugCompile'. > Could not find com.android.volley:volley:1.0. Required by: JustSingIt-Android:JustSingIt:unspecified > Could not find any version that matches com.readystatesoftware:android-simpl3r:1.0+. Required by: JustSingIt-Android:JustSingIt:unspecified > Could not find com.handmark.pulltorefresh:library:2.1.1. Required by: JustSingIt-Android:JustSingIt:unspecified > Could not find any version that matches com.facebook.android:facebook-sdk:0.1+. Required by: JustSingIt-Android:JustSingIt:unspecified * Try: Run with --stacktrace option to get the stack trace. Run with --debug option to get more log output. ``` And here's my gradle file: ``` buildscript { repositories { mavenCentral() mavenLocal() } dependencies { classpath 'com.android.tools.build:gradle:0.7+' classpath 'com.newrelic.agent.android:agent-gradle-plugin:2.433.0' } } apply plugin: 'android' //apply plugin: 'newrelic' repositories { mavenCentral() mavenLocal() } android { compileSdkVersion 18 buildToolsVersion '19.0.1' defaultConfig { minSdkVersion 14 targetSdkVersion 19 buildConfigField "boolean", "ACRA_ENABLE", 'true' buildConfigField "boolean", "API_FAKE_ENABLE", 'true' } buildTypes { stage { versionName versionNameSuffix 'S' debuggable true packageNameSuffix '.stage' } dev { versionNameSuffix 'D' debuggable true packageNameSuffix '.dev' } release { debuggable true } } dependencies { repositories() compile fileTree(dir: 'libs', include: '*.jar') // Google Play Services compile 'com.google.android.gms:play-services:3.2+' compile 'com.android.volley:volley:1.0' compile 'com.squareup:otto:1.3+' compile('com.google.code.gson:gson:2.2+') { exclude group: 'org.json' } compile 'com.googlecode.libphonenumber:libphonenumber:3.1+' compile 'ch.acra:acra:4.5+' compile 'com.squareup.okhttp:okhttp:1.2+' compile 'com.jakewharton:butterknife:3.0+' compile 'com.android.support:appcompat-v7:18.0.0' compile 'com.readystatesoftware:android-simpl3r:1.0+' // New Relic removed. // compile 'com.newrelic.agent.android:android-agent:2.433.0' // compile 'com.origamilabs.library:StaggeredGridView:1.0+' compile 'net.hockeyapp.android:HockeySDK:3.0.1' compile("com.handmark.pulltorefresh:library:2.1.1") { exclude group: 'com.android.support' } compile('com.facebook.android:facebook-sdk:0.1+') { exclude group: 'com.android.support' } } } ``` Any ideas? Thanks! EDIT : New Issue OK so now the problem is that during build (.\gradlew build) I'm getting a lot of errors related to these libraries not found in the classpath. I also added the Amazon AWS SDK to the project manually, but I'm getting the same errors. The only library that seems to be correctly installed is Facebook. Here's my latest build.gradle: ``` buildscript { repositories { mavenCentral() mavenLocal() } dependencies { classpath 'com.android.tools.build:gradle:0.7+' classpath 'com.newrelic.agent.android:agent-gradle-plugin:2.433.0' } } apply plugin: 'android' //apply plugin: 'newrelic' repositories { mavenCentral() mavenLocal() } android { compileSdkVersion 18 buildToolsVersion '19.0.1' defaultConfig { minSdkVersion 14 targetSdkVersion 19 buildConfigField "boolean", "ACRA_ENABLE", 'true' buildConfigField "boolean", "API_FAKE_ENABLE", 'true' } buildTypes { stage { versionName versionNameSuffix 'S' debuggable true packageNameSuffix '.stage' } dev { versionNameSuffix 'D' debuggable true packageNameSuffix '.dev' } release { debuggable true } } dependencies { repositories() compile fileTree(dir: 'libs', include: '*.jar') compile fileTree(dir: 'libraries', include: '*.jar') compile project(':libraries:facebook') compile 'com.google.android.gms:play-services:3.2+' // Google Play Services compile 'com.mcxiaoke.volley:library:1.0+' // <- Volley-Mirror, a mirror of volley, compile 'com.squareup:otto:1.3+' compile 'com.googlecode.libphonenumber:libphonenumber:3.1+' compile 'ch.acra:acra:4.5+' compile 'com.squareup.okhttp:okhttp:1.2+' compile 'com.jakewharton:butterknife:3.0+' compile 'com.android.support:appcompat-v7:18.0.0' compile 'com.github.manuelpeinado.refreshactionitem:library:1.0+' compile 'net.hockeyapp.android:HockeySDK:3.0.1' compile('com.google.code.gson:gson:2.2+') { exclude group: 'org.json' } compile('com.github.chrisbanes.pulltorefresh:parent:2.1+') { exclude group: 'com.android.support' } // New Relic removed. // compile 'com.newrelic.agent.android:android-agent:2.433.0' // compile 'com.origamilabs.library:StaggeredGridView:1.0+' // compile('com.facebook.android:facebook-sdk:0.1+') { // exclude group: 'com.android.support' // } } } ```