Ho un sistema di build Android multiprogetto. La struttura del progetto è la seguente:Gradle Android: creazione di più progetti, livello superiore build.gradle
Root Dir
|
settings.gradle
|
build.gradle
|
Apps
|
app 1
|
build.gradle
|
app 2
|
build.gradle
|
Libs
|
lib 1
|
build.gradle
|
lib 2
|
build.gradle
Tutte le applicazioni e le librerie hanno configration Android comune.
al livello principale build.gradle Ho il seguente:
subprojects {
apply plugin: 'android'
android {
compileSdkVersion "Google Inc.:Google APIs:19"
buildToolsVersion "20.0.0"
defaultConfig {
minSdkVersion 14
targetSdkVersion 19
}
}
}
Poi ho pensato di aggiungere quanto segue alla build.gradle in App 1
apply plugin: 'com.android.application'
android {
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
res.srcDirs = ['res']
}
}
}
ottengo il seguente errore :
Cannot add extension with name 'android', as there is an extension already registered with that name.
nel plugin Gradle per Android, c'è un modo per avere un "configurazi Android maestri su "che può essere esteso da un sottomodulo?
Sei sicuro che il problema non è avere "applicare il plugin" impostato in due posti diversi, con due ID di plugin diversi? –
Potrebbe essere una domanda stupida, si può avere una sezione "android {...}" senza applicare il plugin Android nel file gradle? – pka
No, ma hai già applicato 'android' a tutti i sottoprogetti. –