Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Missing Dependencies with Gradle?

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'
//        }
    }
}
like image 536
dornad Avatar asked Oct 02 '22 22:10

dornad


1 Answers

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

like image 125
kukido Avatar answered Oct 05 '22 04:10

kukido