Projetos externos de biblioteca do Android com Gradle
Eu estou tentando construir um projeto Android com Gradle e oPlugin Android Gradle. Eu gostaria de depender de projetos de bibliotecas encontrados em repositórios externos (por exemplo), por exemplo ActionBarSherlock.
Isso parece possível de acordo com osite oficial:
Usar uma biblioteca é feito da seguinte maneira:
Configuração de vários projetos. Leia aqui:http://www.gradle.org/docs/current/userguide/multi_project_builds.html
Dependências através de um repo como maven ou ivy.
O conteúdo atual da minha build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.2'
}
}
apply plugin: 'android'
repositories {
mavenCentral()
}
dependencies {
compile 'com.actionbarsherlock:library:4.2.0'
}
android {
target = 'android-16'
sourceSets {
main {
manifest {
srcFile 'AndroidManifest.xml'
}
java {
srcDir 'src'
}
res {
srcDir 'res'
}
assets {
srcDir 'assets'
}
resources {
srcDir 'src'
}
}
}
}
Eu estou usando o Gradle 1.2. Quando tento construir comgradle assemble
, Estou tendo o erro a seguir:
Error: duplicate files during packaging of APK /[path to project]/build/apk/[project name]-debug-unaligned.apk
Path in archive: AndroidManifest.xml
Origin 1: /[path to project]/build/libs/[apk name]-debug.ap_
Origin 2: /[home directory]/.gradle/caches/artifacts-14/filestore/com.actionbarsherlock/actionbarsherlock/4.2.0/apklib/dd63451a922558005d8c10be1085b488ed731d19/actionbarsherlock-4.2.0.apklib
:packageDebug FAILED
Parece que está tentando incluir o AndroidManifest.xml do projeto da biblioteca e do meu projeto. Se eu remover omanifest
especificação emsourceSets
, Ainda obtenho o mesmo erro.
O site menciona usandoapply plugin: 'android-library'
para projetos de biblioteca; Eu estou supondo que isso é apenas quando se constrói a biblioteca real (com uma configuração multi-projeto), pois isso não produz um APK.
Como posso fazer com que dependências de projetos de bibliotecas externas do Android funcionem?