Android Studio缺少外部依赖项

时间:2013-06-02 10:33:30

标签: gradle android-studio

我有一个图书馆项目。我想使用Android的新构建系统。目前我遇到了一个非常讨厌的场景。

我在gradle.build上定义了我的依赖项,但它们从未出现在Android Studio的外部库中。因此,对这些库的所有引用都标记为错误。

当我在命令行上运行gradle dependencies时,它会显示完整的依赖关系树并成功编译。问题显然在于Android Studio。

我尝试重新启动IDE / OS但没有。

这是我的gradle.build

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4.1'
    }
}

apply plugin: 'android-library'

apply plugin: 'idea'

repositories {
    mavenCentral()
}

dependencies {
    compile 'junit:junit:4.11'
    compile 'org.robolectric:robolectric:2.1:jar-with-dependencies'

    compile 'com.google.android:android:4.1.1.4'
    compile 'com.google.android:support-v4:r7'

    compile 'info.cukes:cucumber-java:1.1.3'
    compile 'info.cukes:cucumber-junit:1.1.3'
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        versionCode 1
        versionName "0.3-SNAPSHOT"
        minSdkVersion 15
        targetSdkVersion 17
    }
}

更新

此问题似乎已在最新的Android Studio版本(0.2.5)

上修复

3 个答案:

答案 0 :(得分:15)

您可以使用'工具 - > Android->与Gradle文件同步项目'。它将解析依赖关系,下载并将它们添加到外部库。

答案 1 :(得分:11)

不幸的是,在当前版本的Android Studio中,IDE未与构建系统(gradle)完全集成。您必须在gradle.build中添加一次库以进行编译,并通过GUI添加一次以完成代码。

右键单击您的项目,选择“打开模块设置”。承认警告。选择“库”,“+”,然后添加您正在使用的库。您可以在出现的对话框中搜索Maven上的库。您应该为jar选择libs目录。最后,将库添加到代码的模块中。如果您的应用是MyApp,则可能有MyApp和MyAppProject。您需要将其添加到MyApp。 (您也可以直接从“模块”页面添加它。)

要另外获取gradle将jar添加到apk,请对您的成绩文件进行以下更改。替换:

compile 'org.jsoup:jsoup:1.6.1'

类似
compile files('libs/jsoup-1.6.1.jar')

现在它应该全部工作。

答案 2 :(得分:0)

我评论了来自build.gradle文件的以下行,它开始工作。

//compile files('libs/android-support-v4.jar')

enter image description here

以前干式构建操作会成功,但是当我尝试在设备上运行时会出现错误

UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define  Landroid/support/annotation/AnimRes;