我正在尝试使用Gradle自动化我的项目。
我有几个应用程序和一个库项目。 仔细阅读official doc后,这是我build.gradle的简化视图:
buildscript {
repositories {
mavenCentral()
maven {
url "http://saturday06.github.io/gradle-android-scala-plugin/repository/snapshot"
}
}
dependencies {
// 0.8.3 con Gradle 1.10
classpath 'org.gradle.api.plugins:gradle-android-plugin:1.2.1'
}
}
apply plugin: 'idea'
project(':MyApp') {
ext.apl = true
}
project(':MyLibrary') {
ext.apl = false
}
subprojects {
if (project.apl) {
apply plugin: 'android'
dependencies {
compile 'ch.acra:acra:4.5.0'
}
}
if (project.scala) {
apply plugin: 'android-scala'
scala {
target "jvm-1.7"
addparams '-feature'
}
} else {
apply plugin: 'android-library'
}
android {
compileSdkVersion 17
buildToolsVersion '19.1.0'
signingConfigs { ... }
defaultConfig {
minSdkVersion 8
targetSdkVersion 17
}
sourceSets {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
buildTypes {
debug {
runProguard false
proguardFile file('proguard-rules.txt')
signingConfig signingConfigs.depurar
}
release {
runProguard true
proguardFile file('proguard-rules.txt')
signingConfig signingConfigs.entregar
}
}
}
}
project(':MyLibrary') {
dependencies {
compile "com.github.tony19:logback-android-core:1.1.1-2"
compile "com.github.tony19:logback-android-classic:1.1.1-2"
compile "org.slf4j:slf4j-api:1.7.6"
}
}
project(':MyApp') {
dependencies {
compile 'com.android.support:appcompat-v7:19.1.0'
compile('org.apache.httpcomponents:httpmime:4.1.1') {
transitive = false
}
compile project(':Bibl')
}
}
我的设置.gradle是:
include 'MyLibrary', 'MyApp'
只有一个build.gradle。
问题在于Gradle抱怨
Plugin with id 'android-library' not found
每当我尝试使用此插件时 使用apply plugin:' android'没问题。
文档明确指出,对于图书馆和android-library'必须使用。 我使用的是Gradle 1.10。
对于像1.2.1这样的最新版gradle-android-plugin,doc是否已过时?因为官方文档适用于0.9版本。
答案 0 :(得分:2)
对于像1.2.1这样的最新版gradle-android-plugin,doc是否已过时?
引用the documentation for gradle-android-plugin
:
我们非常遗憾地宣布此插件的开发已经停止。 Google已经基于Gradle创建了自己的Android开发工具链,后者取代了这个插件。
有关详细信息,请参阅http://tools.android.com/tech-docs/new-build-system/user-guide。
我通常将android-library
与官方Gradle for Android插件相关联;我不知道弃用的gradle-android-plugin
是否支持它。