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

时间:2015-04-23 13:22:54

标签: android android-studio gradle

我在Android Studio中导入了一个Phonegap项目,并将其作为基于Gradle的项目 现在我尝试编译一些外部依赖项,我得到了这个错误:

  

错误:(72,13)无法解决:com.loopj.android:android-async-http:1.4.6   在文件中显示
在项目结构对话框中显示

我试图通过进入File->添加这些依赖项。 ProjectStructure->依赖关系并自动添加#34;。 Android Studio确实找到了库,并将它们添加到我的build.gradle中,但我仍然得到同样的错误...

这是我的build.gradle文件的一部分(依赖项位于底部):

import java.util.regex.Pattern

apply plugin: 'android'

buildscript {
    repositories {
        mavenCentral()
    }

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

ext.multiarch=false

android {
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }

    defaultConfig {
        versionCode Integer.parseInt("" + getVersionCodeFromManifest() + "0")
    }

    compileSdkVersion 21
    buildToolsVersion "21.0.0"

    if (multiarch || System.env.BUILD_MULTIPLE_APKS) {
        productFlavors {
            armv7 {
                versionCode defaultConfig.versionCode + 2
                ndk {
                    abiFilters "armeabi-v7a", ""
                }
            }
            x86 {
                versionCode defaultConfig.versionCode + 4
                ndk {
                    abiFilters "x86", ""
                }
            }
            all {
                ndk {
                    abiFilters "all", ""
                }
            }
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
    compile 'com.android.support:appcompat-v7:22.0.0'
    compile 'com.google.android.gms:play-services:6.5.87'
    compile 'com.loopj.android:android-async-http:1.4.6'
    compile 'org.altbeacon:android-beacon-library:2+@aar'
    for (subproject in getProjectList()) {
        compile project(subproject)
    }
}

感谢您的帮助:))

2 个答案:

答案 0 :(得分:6)

这不应该在buildscript内,请将其保留在buildscript之外。根据您的要求使用jcenter()mavenCentral()

repositories {
    mavenCentral()
}

你也使用了错误的插件。如果为app构建,请使用

apply plugin: 'com.android.application'

如果为图书馆建设,请使用

apply plugin: 'com.android.library'

答案 1 :(得分:3)

将此部分添加到build.gradle部分之外的buildscript

repositories {
     jcenter()
}

不要将此存储库与buildscript部分使用的存储库混淆。它们是不同的。

同时更改

apply plugin: 'android'

in

apply plugin: 'com.android.application'