Error de Gradle con el proyecto de Android agregado como una biblioteca (SlidingMenu)

Nunca he usado Gradle antes, así que estoy completamente perdido!

He añadido SlidingMenu como una biblioteca y tengo acceso desde mi proyecto a todas las cosas SlindingMenu, pero intentar compilar me dará este error:

Gradle: package com.jeremyfeinstein.slidingmenu.lib does not exist 

Estoy usando Android Studio (así IntelliJ) y este es mi gradle.build

 buildscript { repositories { maven { url 'http://repo1.maven.org/maven2' } } dependencies { classpath 'com.android.tools.build:gradle:0.4' } } apply plugin: 'android' dependencies { compile files('libs/android-support-v4.jar') } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 8 targetSdkVersion 17 } } 

Gracias por adelantado

Suponiendo que ha añadido SlidingMenu.jar a la carpeta de librerías, haga clic derecho en él -> Añadir como biblioteca. A continuación, cambie en gradle.build:

Antes de:

 dependencies { compile files('libs/android-support-v4.jar') } 

Después:

 dependencies { compile fileTree(dir: 'libs', include: '*.jar') } 

Esto incluirá todos sus archivos jar.

Yo tuve el mismo problema. La adición de slider-menu-lib desde con gradle-build como android library me ayudó.

Mi estructura de proyecto es como:

 -MyDemoProject -build.gradle -settings.gradle --MyDemo --build.gradle --libs ---sliding-menu-lib ----res ----src ----AndroidManifest.xml ----build.gradle --src 

Para que todas las cosas funcionen tu settings.bundle debe tener este contenido:

 include ':MyDemo' ':MyDemo:libs:sliding-menu-lib' 

Hay un truco aquí, que le permite evitar errores mientras construye un proyecto con gradle usando Android Studio, ya que de acuerdo con el Manual de Herramientas de Android debe usar ':libs:sliding-menu-lib' pero eso no funciona debido al problema con relativo projectDir Caminos

Tu MyDemo/build.gradle debe contener dependencias como:

 dependencies { compile 'com.android.support:support-v4:18.0.0' ... compile fileTree(dir: 'libs', include: '*.jar') compile project(':MyDemo:libs:sliding-menu-lib') } 

Y tu sliding-menu-lib/build.gradle debería ser como:

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android-library' android { compileSdkVersion 14 buildToolsVersion "18.0.1" defaultConfig { minSdkVersion 9 targetSdkVersion 14 } sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } } } dependencies { compile 'com.android.support:support-v4:18.0.0' } 

La parte más importante se ocupa de la sección de los conjuntos de sourceSets , ya que es posible que no desee cambiar la estructura de archivos de slider sliding-menu-lib (no predeterminada para gradle actual)

He agregado todas mis bibliotecas anteriores usando la herramienta de importación predeterminada de origen. Para SlidingMenu utilicé la importación con Maven y luego eliminé todas las dependencias de Maven de la Configuración del proyecto para SlidingMenu y reimporté las bibliotecas de soporte. Esto parecía despejar la mayoría de los problemas para mí.

Si el módulo es sólo una biblioteca y no una aplicación independiente, su gradle debe contener

 apply plugin: 'android-library' 

en lugar de

 apply plugin: 'android' 

Puede sincronizar el proyecto con archivos Gradle :

Herramientas -> Android -> Proyecto de sincronización con archivos Gradle

Recientemente se encontró mejor solución para SlidingMenu por separado:
Puede agregar SlidingMenu como archivo @aar generado si no necesita realizar ningún cambio en él. Simplemente utilice https://github.com/jzaccone/SlidingMenu-aar y realice cambios como en el archivo Léame.
Tenga cuidado con el orden de repos. Este debe estar por encima de mavenCentral()

  • SlidingMenu y ViewPager con API13 (Honeycomb)
  • Android cómo saber si el menú deslizante está visible
  • SlidingMenu: Mostrando el segundo menú de un evento
  • ¿Cuál es la alternativa de SlidingDrawer que está obsoleta? Para deslizar hacia arriba desde abajo
  • Android - problemas para animar el icono de ActionBar de Fragments
  • Android: menú deslizante con submenú
  • Mostrar un botón personalizado en ActionBarSherlock para mostrar un menú deslizante
  • Adición de una dependencia al proyecto de Android
  • Problemas con la integración de SlidingMenu
  • Instalación de la biblioteca Android SlidingMenu
  • Aplicación de dos menús para Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.