Android Studio和Gradle - 构建失败

Vin*_*rat 20 android gradle android-studio android-gradle-plugin

我正在建立一个小型图书馆项目以及一个示例项目来说明其用途.我无法在Android Studio中运行该示例.我从头开始创建项目.我对Eclipse很有经验,但这是我第一次尝试使用Android Studio和Gradle.

给出的错误:

Gradle:任务':demo:dexDebug'的执行失败.

运行C:\ DevTools\Android\android-studio\sdk\build-tools\android-4.2.2\dx.bat失败.见输出

我有以下文件夹结构:

- demo
  - build
  - libs
    - android-support-v4.jar
  - src
    - main
      - java
      - res
  - build.gradle
- library
  - build
  - libs
    - android-support-v4.jar
  - src
    - main
      - java
      - res
  - build.gradle
- build.gradle
- settings.gradle
Run Code Online (Sandbox Code Playgroud)

项目根目录下的Build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
Run Code Online (Sandbox Code Playgroud)

项目根目录下的Settings.gradle:

include ':library', ':demo'
Run Code Online (Sandbox Code Playgroud)

库模块的Build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.4'
    }
}
apply plugin: 'android-library'

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

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}
Run Code Online (Sandbox Code Playgroud)

示例模块的Build.gradle:

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

dependencies {
    compile project(':library')
    compile files('libs/android-support-v4.jar')
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 25

指定compile files('libs/android-support-v4.jar')意味着每个库都包含支持v4.你想要做的只是指定每个库依赖它:

dependencies {
    compile 'com.android.support:support-v4:13.0.0'
}
Run Code Online (Sandbox Code Playgroud)

这将允许gradle检测所有依赖项并仅包含一次.

注意:您必须首先使用SDK Manager并下载并安装两个Maven存储库:"Android Support Repository"和"Google Repository".

  • 为我工作 - 花了不必要的时间,因为我忽略了Google Repository! (2认同)