Error de Gradle: Android Studio, ActionbarSherlock y SlidingMenu
He estado en esto durante un par de días tratando de obtener la estructura de la biblioteca correcta en Android Studio. Yo sólo habría seguido con Eclipse, pero en cuanto a rendimiento, ha sido muy malo para mí últimamente. Por favor, cualquier orientación sería muy apreciada ya que todas las soluciones encontradas no han funcionado y la documentación me ha llevado a ninguna parte.
Todos los manifiestos tienen una etiqueta de aplicación vacía, excepto para el TestProject principal.
- ¿Cuál es la alternativa de SlidingDrawer que está obsoleta? Para deslizar hacia arriba desde abajo
- SlidingMenu (jfeinstein). Desactivar sólo el menú secundario
- Adición de una imagen grande a un cajón de navegación (SlidingMenu libs) - ¿Cómo?
- Android: Umano AndroidSlidingUpPanel Deslizamiento de dos paneles?
- Imitando el cajón de navegación de la aplicación youtube / gmail
Editar * Antes de incluir SlidingMenu, tenía ActionBarSherlock trabajando sin problemas y la construcción, etc
El error
Gradle: Execution failed for task ':libraries:SlidingMenu:processReleaseManifest'. > Manifest merging failed. See console for more info.
Build.Gradle (SlidingMenu)
apply plugin: 'android-library' buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } dependencies { compile 'com.android.support:support-v4:13.0.+' compile project(':libraries:actionbarsherlock') } android { compileSdkVersion 17 buildToolsVersion '17.0.0' sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aild.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } } }
Build.Gradle (ActionBarSherlock)
apply plugin: 'android-library' buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } dependencies { compile 'com.android.support:support-v4:13.0.+' } android { compileSdkVersion 17 buildToolsVersion '17.0.0' sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aild.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } } }
Build.Gradle (Proyecto de prueba)
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android' repositories { mavenCentral() } dependencies { compile 'com.android.support:support-v4:13.0.+' compile project(':libraries:actionbarsherlock') compile project(':libraries:SlidingMenu') } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 7 targetSdkVersion 16 } }
settings.gradle (Proyecto de prueba)
include ':TestProject',':libraries:actionbarsherlock',':libraries:SlidingMenu'
- Borrar Android Fragment pila trasera sin hacer estallar?
- ¿Cómo puedo hacer que el cajón de navegación no cierre completamente el cajón izquierdo?
- SlidingMenu y ViewPager con API13 (Honeycomb)
- El menú deslizante de Android bloquea la interfaz de usuario
- ¿Cómo mostrar el DrawerLayout cuando se desliza de izquierda a derecha, no importa dónde?
- Android: SlidingMenu y ActionBarActivity
- Cómo importar slidingmenu en Intellij Idea?
- Submenú para el menú deslizante en android
Por desgracia, esto podría estar sucediendo por muchas razones. Sugeriría ejecutar gradle build -info
desde la línea de comandos para ver si le da más información.
Un error de combinación común que he encontrado es cuando las minSdkVersions son conflictivas. Veo que su proyecto de prueba minSdkVersion es 7, son los niveles mínimos declarados en los manifiestos ActionBarSherlock y SlidingMenu 7 o menos?
Para mí el problema era con 'missing <application/>
tag' en la biblioteca de slidingmenu. Después de agregar etiqueta <application/>
vacía a los errores de manifiesto desaparecieron. Tal vez esto ayudará a alguien.
Vea el tema aquí: https://groups.google.com/forum/#!topic/adt-dev/PIah7eYXiNs
Ya lo soluciono. Comparto mi configuración. Tal vez esto pueda ayudarte.
Proyecto:
+ TestProject |-- libraries |-- ActionBarSherlock |-- actionbarsherlock |-- actionbarsherlock-fest |-- actionbarsherlock-i18n |-- actionbarsherlock-samples |-- SlidingMenu |-- art |-- example |-- library |-- library-maps-support |-- TestProject
graduación
include ':TestProject', ':libraries:SlidingMenu:library', ':libraries:ActionBarSherlock:actionbarsherlock'
build.gradle (Proyecto de prueba)
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android' repositories { mavenCentral() } dependencies { compile project(':libraries:ActionBarSherlock:actionbarsherlock') compile project(':libraries:SlidingMenu:library') } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 11 targetSdkVersion 16 } }
build.gradle (actionbarsherlock lib)
buildscript { repositories { maven { url 'http://repo1.maven.org/maven2' } } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android-library' dependencies { compile 'com.android.support:support-v4:13.0.0' } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 11 targetSdkVersion 16 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } instrumentTest.setRoot('tests') } }
build.gradle (slidingmenu lib)
buildscript { repositories { maven { url 'http://repo1.maven.org/maven2' } } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android-library' dependencies { compile 'com.android.support:support-v4:13.0.0' compile project(':libraries:ActionBarSherlock:actionbarsherlock') } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 11 targetSdkVersion 16 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } instrumentTest.setRoot('tests') } }