¿Cómo puedo añadir Guayaba a mi proyecto de Android Studio?

En primer lugar, soy consciente de la existencia de esta pregunta – ¿Cómo puedo añadir un proyecto de biblioteca a Android Studio? – y, por desgracia, no me ha ayudado.

Mi objetivo es bastante simple. Quiero escribir una aplicación de Android con Android Studio IDE (0.2.11), y las bibliotecas de Guava en mi código.

No sé Gradle, sólo he empezado a usar Android Studio y mi fondo de Visual Studio / C # me ha faltado, por lo que me disculpo (en ese mundo de Mickey Mouse, típicamente solo agregas una referencia de biblioteca y te vas).

Documentaré mis pasos con capturas de pantalla. En su mayoría seguí el consejo dado en esta respuesta .

Creé una carpeta de las libraries debajo de mi carpeta del proyecto.

Introduzca aquí la descripción de la imagen

Yo cloné el repositorio de Guayaba en él.

Introduzca aquí la descripción de la imagen

Los archivos aparecieron correctamente.

Introduzca aquí la descripción de la imagen

Fui a la Project Structure y el Import Module seleccionado.

Introduzca aquí la descripción de la imagen

Introduzca aquí la descripción de la imagen

Seleccioné Create module from existing sources y acepté todas las opciones predeterminadas.

He actualizado mi archivo settings.gradle para include ':libraries:guava', ':Test' :

Introduzca aquí la descripción de la imagen

Y mi archivo build.gradle con el compile project(":libraries:guava") :

Introduzca aquí la descripción de la imagen

Pero todo lo que recibo cuando intento reconstruir el proyecto es:

 Error: Gradle: A problem occurred configuring project ':Test'. > Failed to notify project evaluation listener. > Configuration with name 'default' not found. 

build.gradle poner un build.gradle como abajo en la carpeta de la guava :

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android-library' 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'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } } } 

(Como dice la respuesta antes mencionada ).

He googled arriba y abajo para encontrar el build.gradle "correcto" para la guayaba.

Https://code.google.com/p/guava-libraries/wiki/UseGuavaInYourBuild – tampoco me ayudó.

He intentado innumerables cosas que no voy a describir aquí, ya que eran más bien al azar – Traté de añadir una dependencia de módulos, he intentado Use auto-import en la Gradle settings , etc

Sé que no es una forma de resolver problemas y prometo leer diligentemente la Guía del usuario de Gradle de 1 a 5.4.2 a 7.3, pero no puedo creer que esto sea realmente un requisito previo para lograr algo tan inofensivo como simplemente agregar una biblioteca a un ¿proyecto? ¿Por qué no hay build.gradle archivo de build.gradle defecto del que uno podría empezar a jugar con todo tipo de cosas si es necesario?

Y la verdadera pregunta – ¿Cómo puedo crear una aplicación (en Android Studio) que se basa, en realidad se ejecuta en un dispositivo Android y en la parte superior de que me permite usar la guayaba para poder clasificar un mapa por valores sin escribir 50 líneas de código ? 🙂

Lo siento por el tono de conversación de mi pregunta, sé que el ejercicio por aquí, es sólo mi manera de ventilar mi frustración.

A juzgar por cuántos votos fueron emitidos para preguntas y respuestas que abordaron temas similares, estoy seguro de que no soy el único que se beneficiaría de algunas instrucciones más. Comencé una recompensa de inmediato, pero las reglas me prohiben.

Si solo necesitas usar una versión estable y lanzada de las librerías de Guava, importarla es extremadamente fácil.

Simplemente vaya al archivo build.gradle del módulo donde desea usar la biblioteca (ie GuavaTestProject/GuavaTest/build.gradle ) y, justo después

 repositories { mavenCentral() } 

Agregue una dependencia de Maven:

 dependencies { compile group: 'com.google.guava', name: 'guava', version: '15.0' } 

Reconstruya su proyecto si es necesario y eso es todo (probado ahora mismo con un nuevo proyecto creado con Android Studio 0.2.13).

Si realmente necesita incluir el código fuente de la biblioteca Guava y compilar usted mismo como un módulo de su construcción de Gradle que es un problema completamente diferente porque Guava es construir con Maven y por lo que necesita para mover el sistema de generación de Guava de Maven a Gradle, Que creo que es abrumadoramente complejo para sus objetivos.

Si solo necesitas buscar el origen o verlo durante la depuración, lo que haría es:

  • Descargue el código fuente de Guava en una carpeta separada:

     git clone https://code.google.com/p/guava-libraries/ git checkout v15.0 
  • Cuando Android Studio no encuentre las fuentes, haga clic en "Adjuntar fuentes" y apunte a esta ubicación alternativa.

Creo que si no necesita modificar y compilar el código fuente de Guava, esta es la solución más fácil.

Eso es un montón de información en su pregunta. Estoy usando Guava también. Pero no recuerdo pasar por ninguno de este problema ..

Guava está disponible en el mavencentral . Así que la adición de la guayaba a su proyecto debe ser bastante simple. AFAIK, no necesitas hacer checkout, construir y agregar una dependencia de proyecto, etc.

Vea el archivo gradle para mi aplicación a continuación.

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.5.+' } } apply plugin: 'android' repositories { mavenCentral() } // Dependencies dependencies { compile fileTree(dir: 'libs', include: '*.jar') // jar files under the libs folder. compile 'com.actionbarsherlock:actionbarsherlock:4.4.0@aar' // actionbarsherlock, compile 'com.android.support:support-v4:18.0.0' // android support lib compile 'com.google.code.gson:gson:2.2.4' // google GSON compile 'com.google.guava:guava:14.0.1' // guava 14.0.1 } 
 dependencies { compile 'com.google.guava:guava:19.0' } 

Fuente: https://github.com/google/guava

En Android Studio 0.3.0 Ahora esto funciona como debería en Mac. Consulte las notas de la versión para obtener más opciones en la adición de bibliotecas http://tools.android.com/recent/androidstudio030released


He estado trabajando en Windows ahora y hay dos opciones Haga clic derecho en un frasco en librerías y tiene un agregado a la biblioteca O puede presionar F4 y llegar a abrir la configuración de la biblioteca por lo que parece que no tiene que luchar tanto en Windows Como en un Mac


Esto es lo que hice. Por favor, lea hasta el final ya que funciona de manera inconsistente y si no ve la flecha azul primero intente hay una resolución. Primero creé una carpeta libs. No creo que esto sea necesario sin embargo, pero es un hábito.

Introduzca aquí la descripción de la imagen

En primer lugar, vaya a Archivo, Estructura del proyecto.

Si ves una pequeña flecha azul en la parte superior izquierda empuja y vas a la pantalla donde puedes añadir una biblioteca

Introduzca aquí la descripción de la imagen

Si logras llegar a esta pantalla a continuación, pulsa el signo más y agrega la biblioteca. Introduzca aquí la descripción de la imagen

También puede ver una línea roja en la parte inferior diciendo Guayaba no se utiliza con una bombilla. Este relleno agrega la dependencia al archivo de compilación de Gradle Introduzca aquí la descripción de la imagen

SI NO VER LA FLECHA AZUL

GO en lugar de Archivo, Otros ajustes, Estructura de proyecto predeterminada.

Desde esa pantalla puede agregar la biblioteca Introduzca aquí la descripción de la imagen

Luego regrese a la estructura del proyecto y agréguela. La cosa es que seguirá siendo un valor predeterminado para todos sus proyectos para que pueda agregar y quitar para cada proyecto individual a través del menú de estructura del proyecto. No estoy seguro de si se trata de un error en Android Studio el hecho de que se puede bloquear de agregarlo al proyecto individual sin cambiar el valor predeterminado.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.