Zewnętrzne projekty biblioteki Android z Gradle

Próbuję zbudować projekt Androida za pomocą Gradle iWtyczka Android Gradle. Chciałbym polegać na projektach bibliotecznych znalezionych w zewnętrznych (maven) repozytoriach, np. AkcjaBarSherlock.

Wydaje się to możliwe zgodnie zoficjalna strona:

Korzystanie z biblioteki odbywa się w następujący sposób:

Konfiguracja wielu projektów. Przeczytaj tutaj:http://www.gradle.org/docs/current/userguide/multi_project_builds.html

Zależności poprzez repo, takie jak maven lub bluszcz.

Aktualna zawartość mojej kompilacji:

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'
            }
        }
    }
}

Używam Gradle 1.2. Kiedy próbuję budować zgradle assemble, Pojawia się następujący błąd:

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

Wygląda na to, że próbuje włączyć plik AndroidManifest.xml zarówno z projektu biblioteki, jak i mojego projektu. Jeśli usunęmanifest specyfikacja wsourceSets, Wciąż mam ten sam błąd.

Strona wspomina o użyciuapply plugin: 'android-library' dla projektów bibliotecznych; Zgaduję, że jest to tylko podczas budowania rzeczywistej biblioteki (z konfiguracją wielu projektów), ponieważ nie powoduje to utworzenia APK.

Jak mogę uzyskać zewnętrzne zależności projektu biblioteki Android do działania?

questionAnswers(3)

yourAnswerToTheQuestion