I am trying to create an Android project with Gradle and Android Gradle plugin . I would like to depend on library projects found in maven repositories, for example. ActionBarSherlock.
This is possible according to the official website:
Using the library is done in one of the following ways:
Set up multiple projects. Read here: http://www.gradle.org/docs/current/userguide/multi_project_builds.html
Dependencies through repos like maven or ivy.
The current contents of my 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' } } } }
I am using Gradle 1.2. When I try to build using gradle assemble , I get the following error:
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
It seems he is trying to include AndroidManifest.xml from the library project and my project. If I remove the manifest specification in sourceSets , I still get the same error.
The site mentions the use of apply plugin: 'android-library' for library projects; I assume that this is only when creating a real library (with multi-project configuration), as this does not create an APK.
How can I make external Android library projects work?
android maven build gradle
antonyt Mar 02 '13 at 11:26 2013-03-02 11:26
source share