12

我有一个图书馆项目。我想使用 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)上得到修复

4

3 回答 3

15

You can use 'Tools->Android->Sync project with Gradle files'. It will resolve the dependencies, download, and add them to external libraries.

于 2014-01-15T10:02:54.037 回答
11

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

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

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

compile 'org.jsoup:jsoup:1.6.1'

和类似

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

现在它应该一切正常。

于 2013-06-08T14:38:22.067 回答
0

我从文件中评论了以下行build.gradle,它开始工作。

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

在此处输入图像描述

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

UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dex.DexException: Multiple dex files define  Landroid/support/annotation/AnimRes;
于 2015-01-31T08:36:28.400 回答