库和应用程序的不同gradle版本

时间:2014-04-11 10:23:39

标签: android gradle

我目前正在尝试依靠froger_mcs'添加library。在this帖子中回答。

不幸的是,我没有设法在库的源文件中找到build.gradle来完成最后一步:

  

最后,您必须在/ libriaries / actionbarsherlock /目录中创建另一个build.gradle文件。

所以我在gipi的回答here中添加了一个。

我最终遇到了以下问题:

当我运行./gradlew clean时,它表示我试图添加的库需要gradle版本1.9。当我将gradle-wrapper.properties中的版本更改为1.9并再次运行相同的任务时,它表示我的应用程序需要gradle版本1.8。

我错过了什么?

MyProject的/外部/ Boost.Python库/的build.gradle:

buildscript {
    repositories {
        mavenCentral()
    }

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

apply plugin: 'android-library'

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
       }
    }
}

MyProject的/ MyApp的/的build.gradle:

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

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.0"

    defaultConfig {
        minSdkVersion 10
        targetSdkVersion 19
    }
}

dependencies {
    compile project(':external:TheLibrary')
    /* other dependencies */
}

MyProject的/ settings.gradle:

include ':external:TheLibrary', ':MyApp'

1 个答案:

答案 0 :(得分:0)

尝试添加可用的最新版本的gradle。

放入位于root上的build.gradle(在你的情况下为MyProject)

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

另外,您无需为每个项目指定gradle。您可以将它放在main build.gradle中,其他lib将从中读取。我的build.gradle看起来像下面列出的那样。对于您的情况,build.gradle将位于根目录MyProject中。因此,您希望编辑全局build.gradle而不是模块内部的那些(MyApp和TheLibrary)。你可以将你的claspath降级为这些模块中的渐变 - 只做一个全局。

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

 allprojects {
    repositories {
        mavenCentral()
    }
}

放入你的gradle包装器:

distributionUrl=http\://services.gradle.org/distributions/gradle-1.11-all.zip

我认为构建工具可能是一个主要问题。使每个lib项目都具有与主项目相同的构建工具变体,所以,来自:

compileSdkVersion 17
buildToolsVersion "17.0.0"

为:

compileSdkVersion 19
buildToolsVersion "19.0.0"

顺便说一下。可用的是19.0.3。