Android Studio – Importación de biblioteca / jar externo

Recientemente descargué Android Studio para desarrollar aplicaciones de Android (vengo de Eclipse), y tengo problemas al utilizar bibliotecas externas y / o archivos JAR externos junto con mi propio proyecto. NOTA : las siguientes pruebas se realizaron en un nuevo proyecto de aplicación creado desde cero en Android Studio.

Ejemplo 1: Importar JAR.

  1. Descargue una copia nueva del SDK de Admobs de Google.

  2. Copie el jar de biblioteca GoogleAdMobAdsSdk-6.4.1.jar a la carpeta / libs / del proyecto.

  3. En el explorador del proyecto, haga clic con el botón derecho en el archivo library.jar recién agregado y haga clic en ‘Agregar como biblioteca’.

Técnicamente en este punto todo funciona , las importaciones funcionan bien, el editor de diseño muestra una vista previa del widget AdView y todo eso. El único problema es que no se comstack correctamente.

Log desde la consola:

 Gradle: FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':APITests:compilePaidDebug'. > Comstacktion failed; see the compiler error output for details. * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Could not execute build using Gradle distribution 'http://services.gradle.org/distributions/gradle-1.6-bin.zip'. 

Intenté ejecutar gradlew compileDebug --stacktrace , y el problema parece ser que, a pesar de poder importar las clases con éxito en el editor de código y diseño, en tiempo de comstackción, no puede resolver las importaciones. Aquí está la parte relevante del registro: ( stacktrace completo aquí )

 java:6: error: package com.google.ads does not exist import com.google.ads.AdRequest; java:7: error: package com.google.ads does not exist import com.google.ads.AdView; java:11: error: cannot find symbol AdView mAdView; symbol: class AdView location: class MainActivity java:22: error: cannot find symbol mAdView = (AdView)this.findViewById(R.id.adView); symbol: class AdView location: class MainActivity java:23: error: cannot find symbol mAdView.loadAd(new AdRequest()); symbol: class AdRequest location: class MainActivity 5 errors :Test:compileDebug FAILED 

Pero, de nuevo, las importaciones funcionan bien en el editor, y la dependencia está ahí:

enter image description here

También vale la pena señalar que sin intentar agregar una biblioteca / JAR, los proyectos comstackn muy bien.

Luego intenté editar el archivo build.gradle para incluir la nueva lib como esta:

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

Esta vez, compiló correctamente, pero la aplicación ahora obliga a cerrar, ya que aparentemente no puede encontrar una clase específica de la lib en el paquete de la aplicación.

 Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.ads.AdView" on path: /data/app/com.foo.test-1.apk 

¿Algunas ideas?

Asi que,

Pasos a seguir para importar un JAR con éxito a su proyecto con Android Studio 0.1.1:

  • Descargue el archivo library.jar y cópielo a su carpeta / libs / dentro de su proyecto de aplicación.
  • Abra el archivo build.gradle y edite sus dependencias para incluir el nuevo archivo .jar:

compile files('libs/android-support-v4.jar', 'libs/GoogleAdMobAdsSdk-6.4.1.jar')

  • Archivo -> Cerrar proyecto
  • Abra un símbolo del sistema en la ubicación raíz de su proyecto, es decir, 'C:\Users\Username\AndroidStudioProjects\MyApplicationProject\'
  • En el símbolo del sistema, escriba gradlew clean , espere hasta que gradlew clean .
  • Vuelva a abrir su proyecto de aplicación en Android Studio.
  • Prueba ejecutar tu aplicación y debería funcionar con éxito.

No es necesario que cierre el proyecto y vaya a la línea de comando para invocar el grado: limpiar. Ir a Build-> Rebuild Project

De manera fácil y funciona para mí. Usando Android Studio 0.8.2.

  1. Arrastre el archivo jar en libs.
  2. Presione el botón “Sincronizar proyecto con archivos Gradle”.

enter image description here

“La solución simple está aquí”

1. Crea una carpeta llamada libs en el directorio de la aplicación para ese asunto cualquier directorio dentro del proyecto.

2. Copie Pegue su biblioteca en la carpeta libs

3. .You simply copy the JAR to your libs/ directory and then from inside Android Studio, right click the Jar that shows up under libs/ > Add As Library..

¡Paz!

Así es cómo lo hice funcionar específicamente para el archivo admob sdk jar :

  1. Arrastra tu archivo jar a la carpeta libs.
  2. Haga clic con el botón derecho en el archivo jar y seleccione Agregar biblioteca ahora el archivo jar es una biblioteca y lo agregue a la ruta de comstackción
  3. Abra el archivo build.gradle (tenga en cuenta que hay dos archivos build.gradle al menos, no use el de la raíz use uno en el scope de su proyecto).
  4. Busque la sección de dependencias (para mí, estaba intentando acceder al archivo jar admob -GoogleAdMobAdsSdk), por ejemplo,

     dependencies { compile files('libs/android-support-v4.jar','libs/GoogleAdMobAdsSdk-6.3.1.jar') } 
  5. Por último, entra en settings.gradle y asegúrate de que se ve así:

     include ':yourproject', ':yourproject:libs:GoogleAdMobAdsSdk-6.3.1' 
  6. Finalmente, vaya a Build -> Rebuild Project

exportas el proyecto de Eclipse y luego importas el proyecto de Android Studio, esto debería resolver tu problema, abrir un proyecto de eclipse sin importarlo desde Android Studio puedes causar problemas, mira: (Disculpe mi idioma, hablo español). http : //developer.android.com/intl/es/sdk/installing/migrate.html

Tuve el problema de no poder cargar el archivo jar en la carpeta libs en Android Studio. Si ha agregado el archivo JAR en la carpeta libs, simplemente abra el archivo build.gradle y guárdelo sin editar nada más. Si ha agregado esta línea

compile fileTree(dir: 'libs', include: ['*.jar'])

guárdelo y limpie el proyecto. En el siguiente tiempo de comstackción, Android Studio cargará el archivo JAR.

Espero que esto ayude.

Estoy usando Android Studio 0.5.2. Entonces, si su versión es inferior a la mía, mi respuesta puede no funcionar para usted.

3 formas de agregar un nuevo Jar a tu proyecto:

  1. Menú en Archivos -> Estructura del proyecto
  2. Solo presiona ‘ F4
  3. en Navegación del proyecto, haga clic derecho en cualquier biblioteca de Java y se mostrará un menú contextual, luego haga clic en ‘ Abrir configuración de la biblioteca

Una ventana de estructura de proyecto aparecerá.

En la columna de la izquierda, haga clic en ‘Bibliotecas’, luego observe el panel derecho donde hay un signo más ‘+’ y haga clic en él, luego ingrese la ruta a su nueva biblioteca.

Asegúrese de que la nueva biblioteca se encuentre en la carpeta ‘project \ libs \’; de lo contrario, puede obtener un enlace roto al guardar el código fuente del proyecto.

Actualmente estoy usando Android Studio 1.4.

Para importar y agregar bibliotecas, utilicé el siguiente flujo ->

 1. Press **Alt+Ctr+Shift+S** or Go to **File --> Project** Structure to open up the Project Structure Dialog Box. 2. Click on **Modules** to which you want to link the JAR to and Go to the Dependency Tab. 3. Click on "**+**" Button to pop up Choose Library Dependency. 4. Search/Select the dependency and rebuild the project. 

Utilicé el enfoque anterior para importar las bibliotecas v4 y v13 de soporte.

Espero que esto sea útil y aclare el flujo.

Utilizo android studio 0.8.6 y para importar una biblioteca externa en el proyecto, pego esa biblioteca en la carpeta libs y dentro de la ruta de escritura build.gradle de esa biblioteca dentro de dependencias como esta compile files (‘libs / google-play-services.jar’)

En Android Studio (el mío es 2.3.1) vaya a Archivo – Estructura del proyecto:

enter image description here

Verifique los requisitos de versión de libs. La lib podría estar intentando llamar a un método desde una versión de Android superior. Intente agregar las bibliotecas de compatibilidad de aplicaciones.

Cuando todo lo demás falla, intente cambiar de una comstackción de Gradle a una comstackción de Eclipse.

Borre y reestructure sus carpetas al estilo Eclipse y elimine todo menos su código. Luego recarga el proyecto con tus libs.

Una vez que se ejecuta, regrese a Gradle, si lo desea.