Gradle无法解析Android Studio中的依赖项

时间:2022-09-03 22:48:56

Whenever I add a dependency from an remote repository (jcenter) in Android Studio 1.1 (OS X) I get the following error upon syncing Gradle:

每当我在Android Studio 1.1(OS X)中从远程存储库(jcenter)添加依赖项时,在同步Gradle时会出现以下错误:

Error:(26, 13) Failed to resolve: <packagename:version>

My app's build.gradle is as follows: apply plugin: 'com.android.application'

我的app的build.gradle如下:apply plugin:'com.android.application'

android {
compileSdkVersion 21
buildToolsVersion "21.1.2"

defaultConfig {
    applicationId "nl.timmevandermeer.cargoapp"
    minSdkVersion 19
    targetSdkVersion 21
    versionCode 1
    versionName "1.0"
}
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     compile 'com.android.support:appcompat-v7:21.0.3'
     compile 'com.android.support:support-v4:21.0.3'
     compile 'com.google.android.gms:play-services:6.5.87'
     compile 'org.json:json:20141113'
}

I have tried changing repositories (jcenter(), mavenCentral(), etc.), reinstalling Android Studio, JDK (7 and 8), changing Gradle version and Android SDK version, none of which worked. Upon running ./gradlew build I get:

我尝试过更改存储库(jcenter(),mavenCentral()等),重新安装Android Studio,JDK(7和8),更改Gradle版本和Android SDK版本,但都没有。运行./gradlew build后,我得到:

Could not resolve com.android.tools.build:gradle:1.1.0.
13:48:04.914 [ERROR] [org.gradle.BuildExceptionReporter]      Required by:
13:48:04.915 [ERROR] [org.gradle.BuildExceptionReporter]          :CargoApp:unspecified
13:48:04.932 [ERROR] [org.gradle.BuildExceptionReporter] >
 org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V

This is an error I get in other cases as well, for example when trying to use Intellij Idea instead of Android Studio. Running the app without the dependency does work though.

这是我在其他情况下遇到的错误,例如在尝试使用Intellij Idea而不是Android Studio时。运行没有依赖项的应用程序确实有效。

7 个解决方案

#1


26  

A similar problem here, and when I choose Build -> Clean Project there is a "peer not authenticated" error.

这里有类似的问题,当我选择Build - > Clean Project时,会出现“peer not authenticated”错误。

solved by using "http://jcenter.bintray.com/" instead of "https://jcenter.bintray.com/"

通过使用“http://jcenter.bintray.com/”而不是“https://jcenter.bintray.com/”解决

repositories {
    jcenter({url "http://jcenter.bintray.com/"})
}

hope this work for you.

希望这对你有用。

#2


13  

I had a similar problem with a library on github, which stated to install it as:

我在github上有一个类似的问题,它声称将它安装为:

dependencies {
    compile 'com.github.chrisbanes.photoview:library:1.2.4'
}

This workaround seem to work, although it's suboptimal because it doesn't fetch a specific version and leads to Android Studio warnings:

这种解决方法似乎有效,虽然它不是最理想的,因为它不会获取特定版本并导致Android Studio警告:

dependencies {
    compile 'com.github.chrisbanes.photoview:library:+'
}

#3


2  

Top build.gradle:

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.3'
    }
}

App build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "nl.timmevandermeer.cargoapp"
        minSdkVersion 19
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
     // compile fileTree(dir: 'libs', include: ['*.jar']) // <-- use gradle depedencies
     compile 'com.android.support:appcompat-v7:22.0.0' // <-- brings in v4
    // compile 'com.google.android.gms:play-services:7.0.0' // <-- will cause MultiDex exception, you need to choose which ones you want
    // compile 'org.json:json:20141113' // <-- android comes with org.json
}

Multi-Dex Issue:

compile 'com.google.android.gms:play-services:7.0.0' is too big and should not be used directly. Please choose the modules you want here: http://developer.android.com/google/play-services/setup.html

编译'com.google.android.gms:play-services:7.0.0'太大,不应该直接使用。请在此处选择您需要的模块:http://developer.android.com/google/play-services/setup.html

#4


2  

Rather late but probably your gradle works in offline mode. Go to File->Settings->Gradle and uncheck the offline mode. Then try to refresh gradle and it should work

相当晚,但可能你的gradle在离线模式下工作。转到文件 - >设置 - >平移,取消选中离线模式。然后尝试刷新gradle,它应该工作

#5


2  

I am behind a corporate firewall. I had my http settings set, but not my https settings. So, I added the following to my gradle.properties file:

我是企业防火墙的幕后黑手。我设置了http设置,但不是我的https设置。所以,我在gradle.properties文件中添加了以下内容:

systemProp.https.proxyPassword=...
systemProp.https.proxyHost=...
systemProp.https.nonProxyHosts=...
systemProp.https.proxyUser=...
systemProp.https.proxyPort=...

#6


0  

Tested in UBUNTU - 14.04 ,

在UBUNTU测试 - 14.04,

>delete .androidstudio1.2 , .gradle , .android  , Android studio project from home directory 
> Launch using studio.sh
>close the dialogue letting you choose new or old setting , just close it using that "x " button 
> then it will set up an virtual nexus 5 
>then there will be two errors saying problem about "sdk" and "gradle "
> Caution : choose the appropriate sdk version by clicking on the link given by where the problem is shown .
> close android studio 
> reopen android studio 
> then you will be thrown a possible  error with jdk not found .
>go to file -> project structure 
> give the path to jdk , in my case its "usr/local/java/jdk..."
>close android studio and open again , the gradle might work well after this .

#7


0  

In my case I added this to my build.gradle (module:app):

在我的情况下,我将其添加到我的build.gradle(模块:app):

compile 'com.github.glomadrian:velocimeterlibrary:1.1@aar' 

However, it gave me an error today. My solution is to use this instead:

但是,它今天给了我一个错误。我的解决方案是使用它代替:

compile 'com.github.glomadrian:velocimeterlibrary:+'

#1


26  

A similar problem here, and when I choose Build -> Clean Project there is a "peer not authenticated" error.

这里有类似的问题,当我选择Build - > Clean Project时,会出现“peer not authenticated”错误。

solved by using "http://jcenter.bintray.com/" instead of "https://jcenter.bintray.com/"

通过使用“http://jcenter.bintray.com/”而不是“https://jcenter.bintray.com/”解决

repositories {
    jcenter({url "http://jcenter.bintray.com/"})
}

hope this work for you.

希望这对你有用。

#2


13  

I had a similar problem with a library on github, which stated to install it as:

我在github上有一个类似的问题,它声称将它安装为:

dependencies {
    compile 'com.github.chrisbanes.photoview:library:1.2.4'
}

This workaround seem to work, although it's suboptimal because it doesn't fetch a specific version and leads to Android Studio warnings:

这种解决方法似乎有效,虽然它不是最理想的,因为它不会获取特定版本并导致Android Studio警告:

dependencies {
    compile 'com.github.chrisbanes.photoview:library:+'
}

#3


2  

Top build.gradle:

buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.3'
    }
}

App build.gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    defaultConfig {
        applicationId "nl.timmevandermeer.cargoapp"
        minSdkVersion 19
        targetSdkVersion 22
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
     // compile fileTree(dir: 'libs', include: ['*.jar']) // <-- use gradle depedencies
     compile 'com.android.support:appcompat-v7:22.0.0' // <-- brings in v4
    // compile 'com.google.android.gms:play-services:7.0.0' // <-- will cause MultiDex exception, you need to choose which ones you want
    // compile 'org.json:json:20141113' // <-- android comes with org.json
}

Multi-Dex Issue:

compile 'com.google.android.gms:play-services:7.0.0' is too big and should not be used directly. Please choose the modules you want here: http://developer.android.com/google/play-services/setup.html

编译'com.google.android.gms:play-services:7.0.0'太大,不应该直接使用。请在此处选择您需要的模块:http://developer.android.com/google/play-services/setup.html

#4


2  

Rather late but probably your gradle works in offline mode. Go to File->Settings->Gradle and uncheck the offline mode. Then try to refresh gradle and it should work

相当晚,但可能你的gradle在离线模式下工作。转到文件 - >设置 - >平移,取消选中离线模式。然后尝试刷新gradle,它应该工作

#5


2  

I am behind a corporate firewall. I had my http settings set, but not my https settings. So, I added the following to my gradle.properties file:

我是企业防火墙的幕后黑手。我设置了http设置,但不是我的https设置。所以,我在gradle.properties文件中添加了以下内容:

systemProp.https.proxyPassword=...
systemProp.https.proxyHost=...
systemProp.https.nonProxyHosts=...
systemProp.https.proxyUser=...
systemProp.https.proxyPort=...

#6


0  

Tested in UBUNTU - 14.04 ,

在UBUNTU测试 - 14.04,

>delete .androidstudio1.2 , .gradle , .android  , Android studio project from home directory 
> Launch using studio.sh
>close the dialogue letting you choose new or old setting , just close it using that "x " button 
> then it will set up an virtual nexus 5 
>then there will be two errors saying problem about "sdk" and "gradle "
> Caution : choose the appropriate sdk version by clicking on the link given by where the problem is shown .
> close android studio 
> reopen android studio 
> then you will be thrown a possible  error with jdk not found .
>go to file -> project structure 
> give the path to jdk , in my case its "usr/local/java/jdk..."
>close android studio and open again , the gradle might work well after this .

#7


0  

In my case I added this to my build.gradle (module:app):

在我的情况下,我将其添加到我的build.gradle(模块:app):

compile 'com.github.glomadrian:velocimeterlibrary:1.1@aar' 

However, it gave me an error today. My solution is to use this instead:

但是,它今天给了我一个错误。我的解决方案是使用它代替:

compile 'com.github.glomadrian:velocimeterlibrary:+'