与Gradle缺少依赖关系?

时间:2014-01-08 22:39:24

标签: android intellij-idea gradle

我正在引导一个Android项目,似乎是用Gradle管理的。

老实说,我是Gradle的完全新手,所以我慢慢准备好了。

这是我的gradle包装器的输出:

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.

这是我的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')

        // 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'
        }
    }
}

有什么想法吗?谢谢!

编辑:新问题

好的,现在问题是在构建期间(。\ gradlew构建)我遇到了很多与这些在类路径中找不到的库有关的错误。我还手动将Amazon AWS SDK添加到项目中,但是我遇到了同样的错误。似乎正确安装的唯一库是Facebook。

这是我最新的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'
//        }
    }
}

1 个答案:

答案 0 :(得分:3)

并非Maven Central资源库中的每个库都可用。有时您必须在构建中添加其他存储库或自己构建项目并发布到本地Maven存储库。

com.android.volley - 在Maven Central中不可用,但您可以自己构建它并推送到本地Maven存储库或使用发布到Maven Central的volley-mirror项目。

com.facebook.android - 你必须安装它才能在你的项目中使用。说明可用here

com.handmark.pulltorefresh - 在com.github.chrisbanes.pulltorefresh

下发布到Maven Central

com.readystatesoftware.android-simpl3r - 与上述相同,在com.github.manuelpeinado.refreshactionitem

下发布到Maven Central