我目前正在尝试添加 library依靠 froger_mcs 在 this 中的回答邮政。
不幸的是,我没有设法在库的源文件中找到 build.gradle 来完成最后一步:
At the end you have to create another build.gradle file in /libriaries/actionbarsherlock/ directory.
所以我添加了一个在 gipi 的答案 here 中找到的.
我最终面临以下问题:
当我运行 ./gradlew clean 时,它说我要添加的库需要 gradle 版本 1.9。当我将 gradle-wrapper.properties 中的版本更改为 1.9 并再次运行相同的任务时,它说我的应用程序需要 gradle 版本 1.8。
我错过了什么?
MyProject/external/TheLibrary/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']
}
}
}
我的项目/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 */
}
我的项目/settings.gradle:
include ':external:TheLibrary', ':MyApp'
最佳答案
尝试添加可用的最新版本的 gradle。
放入您的 build.gradle 位于根目录(在您的情况下为 MyProject)
dependencies {
classpath 'com.android.tools.build:gradle:0.9.+'
}
另外,您不需要为每个项目指定 gradle。你可以把它放在你的主 build.gradle 中,其他库将从中读取。我的 build.gradle 看起来像下面的 list 。对于您的情况,build.gradle 将位于 MyProject 根目录中。因此,您要编辑全局 build.gradle 而不是模块内部的那些(MyApp 和 TheLibrary)。您可以将您的 claspath 延迟到这些模块中的 gradles - 全局只创建一个。
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 可用。
关于android - 库和应用程序的不同 gradle 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23009931/