libreria - import aar android studio
¿Cómo agrego un proyecto de biblioteca a Android Studio? (30)
Android Studio 3.0
Solo agregue el nombre de la biblioteca al bloque de dependencias del archivo build.gradle de su aplicación.
dependencies {
// ...
implementation ''com.example:some-library:1.0.0''
}
Tenga en cuenta que debe usar la implementation
lugar de compile
ahora. Esto es nuevo con Android Studio 3.0. Consulte estas preguntas y respuestas para obtener una explicación de la diferencia.
¿Cómo agrego un proyecto de biblioteca (como Sherlock ABS) a Android Studio ?
(No para el antiguo paquete basado en ADT Eclipse, sino para el nuevo Android Studio ).
Opción 1: soltar archivos en el directorio libs / Project del proyecto
El archivo build.gradle relevante se actualizará automáticamente.
Opción 2: Modificar el archivo build.gradle manualmente
Abra su archivo build.gradle y agregue una nueva regla de compilación al cierre de dependencias. Por ejemplo, si desea agregar los servicios de Google Play, la sección de dependencias de su proyecto se vería así:
dependencies {
compile fileTree(dir: ''libs'', include: [''*.jar''])
compile ''com.google.android.gms:play-services:6.5.+''
}
Opción 3: usar la interfaz de usuario de Android Studio
En el panel Proyecto, presione Control + clic en el módulo al que desea agregar la dependencia y seleccione Abrir configuración del módulo.
Seleccione la pestaña Dependencias, seguido del botón + en la esquina inferior izquierda. Puede elegir de la siguiente lista de opciones:
- Dependencia de la biblioteca
- Dependencia de archivos
- Dependencia del módulo
Luego puede ingresar más información sobre la dependencia que desea agregar a su proyecto. Por ejemplo, si elige Dependencia de biblioteca, Android Studio muestra una lista de bibliotecas para que elija.
Una vez que haya agregado su dependencia, verifique su archivo build.gradle a nivel de módulo. Debería haberse actualizado automáticamente para incluir la nueva dependencia.
Así es como funciona para mí en Android Studio 1.5+
En el proyecto donde desea agregar un proyecto de biblioteca externa, vaya al menú Archivo -> Nuevo -> * Importar nuevo módulo **, navegue hasta el proyecto de biblioteca que desea agregar a su proyecto, seleccione para agregar el módulo ''biblioteca'' en tu proyecto. Obtendrá settings.gradle en sus proyectos, junto a la aplicación, biblioteca incluida, algo como esto:
include '':app'', '':library''
Agregue build.gradle (Module: app) en la sección de dependencias:
Proyecto de compilación ('': library'')
Reconstruye el proyecto, y eso es todo.
* Puedes agregar tantas bibliotecas (módulos) como quieras. En ese caso en settings.gradle tendrás:
include '':app'', '':lib1'', '':lib2'', ...
Y en build.gradle, necesitarás tener:
dependencies {
compile fileTree(dir: ''libs'', include: [''*.jar''])
// Some other dependencies...
compile project('':lib1'')
compile project('':lib2'')
...
}
- Presione F4 para mostrar la Estructura del proyecto , haga clic en bibliotecas o bibliotecas globales, y haga clic en + para agregar el archivo JAR.
- Haga clic en Módulos, lo que desea agregar jar, seleccione la pestaña Dependencias , haga clic en + y agregue Biblioteca.
Abra el archivo de la aplicación del módulo de compilación de Gradle y agregue su dependencia. Si descarga la biblioteca, solo importe y compile como gradle.
De lo contrario, agregue repositorios en la aplicación de módulo de lado gradle:
repositories {
maven { url ''http://clinker.47deg.com/nexus/content/groups/public'' }
}
Los primeros repositorios descargarán la biblioteca por ti.
Y compila la biblioteca descargada:
compile (''com.fortysevendeg.swipelistview:swipelistview:1.0-SNAPSHOT@aar'') {
transitive = true
}
Si está creando una biblioteca, solo necesita importar el proyecto como nuevo módulo de importación.
Acabo de encontrar una forma más fácil (en lugar de escribir directamente en los archivos .gradle).
Esto es para Android Studio 1.1.0.
Archivo de menú -> Nuevo módulo ... :
Haga clic en "Importar proyecto existente".
Seleccione la biblioteca deseada y el módulo deseado.
Haga clic en Finalizar. Android Studio importará la biblioteca a su proyecto. Se sincronizarán los archivos de gradle.
Agregue el módulo importado a las dependencias de su proyecto.
Haga clic derecho en la carpeta de la aplicación -> Abrir configuración del módulo -> vaya a la pestaña de dependencias -> Haga clic en el botón ''+'' -> haga clic en Dependencia del módulo.
El módulo de biblioteca se agregará a las dependencias del proyecto.
???
Lucro
Aquí está la guía visual:
Actualización para Android Studio 0.8.2:
En Android Studio 0.8.2, vaya a Estructura del proyecto -> en Módulos, simplemente actionbarsherlock
el botón más y seleccione Importar proyecto existente e importar actionbarsherlock
. Luego sincronice sus archivos de Gradle.
Si te enfrentas al error
Error: la revisión de las herramientas de compilación del SDK (xx.xx) es demasiado baja. El mínimo requerido es yy.yy
simplemente abra el archivo build.gradle
en el directorio actionbarsherlock
y actualice buildToolsVersion
a la sugerida.
android {
compileSdkVersion 19
buildToolsVersion ''yy.y.y''
Archivo de menú -> Estructura del proyecto ... :
Módulo -> Importar módulo
Después de importar el módulo de biblioteca, seleccione el módulo de su proyecto y agregue la dependencia:
Y luego seleccione el módulo importado :
Básicamente, puedes incluir tus archivos JAR de tres maneras diferentes. La última es una biblioteca remota que utiliza el repositorio en línea https://bintray.com/ jcenter. Pero, si lo hace de una de las otras dos formas, el archivo JAR se incluirá físicamente en su proyecto. Lea este enlace https://.com/a/35369267/5475941 para obtener más información. En esta publicación, expliqué cómo importar su archivo JAR en Android studio y expliqué todas las formas posibles.
En resumen, si es así (dirección local), se descargan y estos archivos JAR están físicamente en el proyecto:
Pero, si se trata de una dirección de Internet como esta, son bibliotecas remotas (parte jcenter de bintray.com) y se utilizarán de forma remota:
Espero que ayude.
Consideraría que las dependencias, las bibliotecas de Android y la configuración de proyectos múltiples son una lectura necesaria. Por favor, tómese unos minutos para hacerlo.
En particular, en el caso de un proyecto de biblioteca no jar, lea el siguiente fragmento de código de la fuente anterior:
Los proyectos Gradle también pueden depender de otros proyectos Gradle mediante el uso de una configuración de varios proyectos. Una configuración de proyectos múltiples generalmente funciona al tener todos los proyectos como subcarpetas de un proyecto raíz dado.
Por ejemplo, dado a la siguiente estructura:
MyProject/
+ app/
+ libraries/
+ lib1/
+ lib2/
Podemos identificar 3 proyectos. Gradle los referenciará con el siguiente nombre:
:app
:libraries:lib1
:libraries:lib2
Cada proyecto tendrá su propio build.gradle declarando cómo se construye. Además, habrá un archivo llamado settings.gradle en la raíz que declara los proyectos. Esto le da la siguiente estructura:
MyProject/
| settings.gradle
+ app/
| build.gradle
+ libraries/
+ lib1/
| build.gradle
+ lib2/
| build.gradle
El contenido de settings.gradle es muy simple:
include '':app'', '':libraries:lib1'', '':libraries:lib2''
Esto define qué carpeta es realmente un proyecto de Gradle.
El proyecto: app es probable que dependa de las bibliotecas, y esto se hace declarando las siguientes dependencias:
dependencies {
compile project('':libraries:lib1'')
}
Tenga en cuenta que hubo poco o ningún uso de la GUI de Android Studio para que esto sucediera.
Actualmente estoy usando los submódulos de git para vincular la biblioteca anidada al repositorio de git de la biblioteca real para evitar un desorden de dependencia.
De hecho, a medida que cambian las versiones, también cambian la interfaz de usuario y las opciones disponibles en el menú. Después de leer la mayoría de las respuestas a estas preguntas, tuve que adivinar qué funcionaría para Android Studio 1.1.0 .
Con el mouse, seleccione el proyecto en el nivel principal (aquí es donde se muestra el nombre de su aplicación).
Haga clic derecho y seleccione las opciones de menú Nuevo, Carpeta, Carpeta de activos .
Después de crear la carpeta de activos, péguela o cópiela en ella, independientemente del archivo JAR que necesite para su biblioteca.
Desde el menú principal de Android Studio (parte superior de la pantalla), seleccione Archivo -> Estructura del proyecto .
Luego seleccione el nombre de su proyecto y vaya a la pestaña Dependencias .
Haga clic en el signo más ( + ) en la parte inferior izquierda del cuadro de diálogo y seleccione la dependencia del archivo.
Finalmente, abra la carpeta de activos recientemente creada, seleccione los archivos JAR que copió, luego haga clic en Aplicar y Aceptar .
Limpia y reconstruye tu proyecto.
Después de importar el Módulo ABS (desde Archivo> Estructura del proyecto) y asegurarme de que tiene Android 2.2 y Support Library v4 como dependencias, seguía recibiendo el siguiente error mientras usted @Alex
Error retrieving parent for item: No resource found that matches the given name ''Theme.Sherlock.Light.DarkActionBar''
Agregué el módulo recién importado como una dependencia a mi módulo de aplicación principal y eso solucionó el problema.
En Android Studio, vaya a la carpeta de aplicaciones y abra el archivo build.gradle. Aquí verás dependencias {}. Dentro de ella puedes agregar el proyecto de la biblioteca y sincronizar. Ahora, después de sincronizar la biblioteca, se agregará a su proyecto y podrá usar sus funciones y clases en su proyecto.
Encontré la solución. Es tan simple. Siga share .
Asegúrese de hacer que la carpeta src sea una carpeta de origen en la Estructura del proyecto -> Módulos (Orígenes).
La forma más fácil que encontré para incluir un proyecto de biblioteca externa es (por ejemplo, incluir una biblioteca de Facebook que se almacena en un directorio en la carpeta de dependencias):
En settings.gradle añadir
include '':facebook'' project('':facebook'').projectDir = new File(settingsDir, ''../dependencies/FacebookSDK'')
En la sección de dependencias de build.gradle, agregue
compile project (''facebook'')
Todo lo que queda por hacer es sincronizar el proyecto con archivos de gradle.
No es recomendable editar las dependencias de la biblioteca a través de la GUI, ya que no escribe esos cambios en el archivo build.gradle. Así que tu proyecto no se construirá desde la línea de comandos. Deberíamos editar el archivo build.gradle directamente de la siguiente manera.
Por ejemplo, dado a la siguiente estructura:
Mi proyecto/
- app /
- bibliotecas /
- lib1 /
- lib2 /
Podemos identificar tres proyectos. Gradle los referenciará con los siguientes nombres:
- : aplicación
- : librerías: lib1
- : librerías: lib2
El proyecto: app es probable que dependa de las bibliotecas, y esto se hace declarando las siguientes dependencias:
dependencies {
compile project('':libraries:lib1'')
}
Para Android Studio:
Haga clic en Build.gradle (módulo: aplicación) .
Y añadir para
dependencies {
compile fileTree(include: [''*.jar''], dir: ''libs'')
compile files(''libs/commons-io-2.4.jar'')
}
y en su directorio "app", cree un directorio, "libs". Agrega el archivo yourfile.jar:
Finalmente, compile los archivos de Gradle:
Para agregar a la respuesta: Si el IDE no muestra ningún error, pero cuando intenta compilar, obtiene algo como:
No resource found that matches the given name ''Theme.Sherlock.Light''
Su proyecto de biblioteca es probablemente compilado como un proyecto de aplicación. Para cambiar esto, vaya a:
Archivo de menú -> Estructura del proyecto -> Facetas -> [Nombre de la biblioteca] -> Comprobar "Módulo de biblioteca".
Para resolver este problema, solo necesita agregar la ruta de recursos de abs a su archivo de compilación del proyecto, como se muestra a continuación:
sourceSets {
main {
res.srcDirs = [''src/main/res'',''../../ActionBarSherlock/actionbarsherlock/res'']
}
}
Por lo tanto, de nuevo compilo sin ningún error.
Si necesita acceder a los recursos de un proyecto de biblioteca (como lo hace con ABS), asegúrese de agregar el proyecto / módulo de biblioteca como una "Dependencia del módulo" en lugar de una "Biblioteca".
Si tiene Android Studio .0.4.0, puede crear una nueva carpeta en su ruta de compilación, YourApp/libraries
. Copie el archivo JAR. Allí, haga clic derecho sobre él y "Agregar como biblioteca". Ahora tienes una ventana emergente. Solo selecciona tu directorio y presiona OK, y eso es todo.
Simplemente importe el proyecto de la biblioteca de Android como un módulo y en Build.gradle .
Aplicar el complemento: ''com.android.library''
Después de eso, sigue estos pasos:
- Haga clic derecho en Módulo y seleccione abrir Configuración del módulo
- Seleccione las dependencias, haga clic en + , seleccione las dependencias de la biblioteca y agregue el módulo previamente importado.
También me encontré con el mismo problema, entonces hice las siguientes cosas.
Importe el proyecto de la biblioteca en mi IDE de AndroidStudio como un módulo mediante el menú Archivo -> Importar menús del módulo
Luego fui a mi módulo principal en el que quiero que el proyecto de la biblioteca sea un proyecto dependiente
Haga clic derecho en el módulo principal (en mi caso, su nombre es aplicación ) -> Abra la configuración del módulo -> vaya a la pestaña de dependencias -> haga clic en el botón + (lo encontrará en el lado derecho de la ventana) -> haga clic en la dependencia del módulo - > seleccione su proyecto de biblioteca de la lista
Aplique los cambios y haga clic en el botón Aceptar .
Funcionó para mí. Espero que ayude a otros también.
Tuve una causa diferente del problema, así que para las personas:
repositories {
mavenCentral()
}
cambia mavenCentral () a jcenter () y agrega
allprojects {
repositories {
jcenter()
}
}
Un ejemplo de agregar exitosamente otra biblioteca (PullToRefresh). También funciona para ABS libproject.
Una forma sencilla de agregar un archivo JAR como biblioteca a su proyecto de Android Studio:
a) Copia tus archivos * .jar
b) Pegue en el directorio libs debajo de sus proyectos:
c) Añadir a build.gradle:
dependencies {
...
compile files(''libs/ScanAPIAndroid.jar'', ''libs/ScanAPIFactoryAndroid.jar'', .., ..)
}
b) Si su proyecto del ejemplo com.example.MYProject y las bibliotecas com.example.ScanAPI tiene el mismo espacio de nombres com.example , Android Studio revisará su compilación y creará todos los cambios necesarios en su proyecto. Después de eso, puede revisar estas configuraciones en el menú Archivo -> Estructura del proyecto .
c) Si su proyecto y sus bibliotecas tienen un espacio de nombres diferente , debe hacer clic derecho en la biblioteca y seleccionar la opción "Agregar como biblioteca" y seleccionar el tipo que necesita.
Recuerde que la opción "Estructura del proyecto" no está haciendo ningún cambio automático en "build.gradle" en la versión actual de Android Studio (0.2.3). Tal vez esta característica estará disponible en las próximas versiones.
Utilice el menú Archivo -> Estructura del proyecto -> Módulos .
Comencé a usarlo hoy. Es un poco diferente.
Para Sherlock, tal vez desee eliminar su directorio de prueba o agregar el archivo junit.jar
a la ruta de junit.jar
.
Para importar la biblioteca usando gradle, puede tener que agregarla a la sección de dependencies
de su build.gradle
(la del módulo).
P.ej
dependencies {
compile fileTree(dir: ''libs'', include: [''*.jar''])
compile ''com.android.support:appcompat-v7:22.1.0''
compile ''com.actionbarsherlock:actionbarsherlock:4.4.0@aar''
}
Android Studio está cambiando.
Existe una sección llamada "Abrir la configuración del módulo" si haces clic derecho en una carpeta del módulo en la sección del proyecto de Android Studio (estoy usando la versión 0.2.10).
https://www.dropbox.com/s/1e3eteu3h0pmkf7/Android%20studio%20_doc.doc?dl=0 es el enlace de Dropbox de cómo agregar un archivo JAR y un proyecto de biblioteca en la última versión de Android Studio 1.0.1.
Por favor vea la documentación con capturas de pantalla. Es muy fácil para un nuevo usuario.
Actualización para Android Studio 1.0
Desde que se lanzó Android Studio 1.0 (y muchas versiones entre v1.0 y una de las primeras desde el momento de mi respuesta anterior), algunas cosas han cambiado.
Mi descripción se centra en agregar un proyecto de biblioteca externa a mano a través de archivos Gradle (para comprender mejor el proceso). Si desea agregar una biblioteca a través del creador de Android Studio, verifique la respuesta a continuación con una guía visual (existen algunas diferencias entre Android Studio 1.0 y las de las capturas de pantalla, pero el proceso es muy similar).
Antes de comenzar a agregar una biblioteca a su proyecto a mano, considere agregar la dependencia externa. No ensuciará la estructura de su proyecto. Casi todas las bibliotecas de Android conocidas están disponibles en un repositorio de Maven y su instalación solo requiere una línea de código en el archivo app/build.gradle
:
dependencies {
compile ''com.jakewharton:butterknife:6.0.0''
}
Añadiendo la biblioteca
Aquí está el proceso completo de agregar una biblioteca externa de Android a nuestro proyecto:
- Crea un nuevo proyecto a través del creador de Android Studio. Lo llamé HelloWorld .
- Aquí está la estructura original del proyecto creado por Android Studio:
HelloWorld/ app/ - build.gradle // local Gradle configuration (for app only) ... - build.gradle // Global Gradle configuration (for whole project) - settings.gradle - gradle.properties ...
- En el directorio raíz (
HelloWorld/
), cree una nueva carpeta:/libs
en la que/libs
nuestras bibliotecas externas (este paso no es necesario, solo para mantener una estructura de proyecto más limpia). - Pega tu biblioteca en la carpeta
/libs
recién creada. En este ejemplo, utilicé la biblioteca PagerSlidingTabStrip (solo descargue ZIP de GitHub, cambie el nombre del directorio de la biblioteca a „PagerSlidingTabStrip" y cópielo). Aquí está la nueva estructura de nuestro proyecto:
HelloWorld/ app/ - build.gradle // Local Gradle configuration (for app only) ... libs/ PagerSlidingTabStrip/ - build.gradle // Local Gradle configuration (for library only) - build.gradle // Global Gradle configuration (for whole project) - settings.gradle - gradle.properties ...
Edite settings.gradle agregando su biblioteca para
include
. Si usa una ruta personalizada como lo hice yo, también debe definir el directorio del proyecto para nuestra biblioteca. Todo un settings.gradle debería verse a continuación:include '':app'', '':PagerSlidingTabStrip'' project('':PagerSlidingTabStrip'').projectDir = new File(''libs/PagerSlidingTabStrip'')
5.1 Si se enfrenta a un error de "Configuración predeterminada", intente esto en lugar del paso 5,
include '':app''
include '':libs:PagerSlidingTabStrip''
En
app/build.gradle
agregue nuestro proyecto de biblioteca como una dependencia:dependencies { compile fileTree(dir: ''libs'', include: [''*.jar'']) compile ''com.android.support:appcompat-v7:21.0.3'' compile project(":PagerSlidingTabStrip") }
6.1. Si siguió el paso 5.1, siga esto en lugar de 6,
dependencies {
compile fileTree(dir: ''libs'', include: [''*.jar''])
compile ''com.android.support:appcompat-v7:21.0.3''
compile project(":libs:PagerSlidingTabStrip")
}
Si el proyecto de su biblioteca no tiene el archivo
build.gradle
, debe crearlo manualmente. Aquí está el ejemplo de ese archivo:apply plugin: ''com.android.library'' dependencies { compile ''com.android.support:support-v4:21.0.3'' } android { compileSdkVersion 21 buildToolsVersion "21.1.2" defaultConfig { minSdkVersion 14 targetSdkVersion 21 } sourceSets { main { manifest.srcFile ''AndroidManifest.xml'' java.srcDirs = [''src''] res.srcDirs = [''res''] } } }
Además, puede crear una configuración global para su proyecto que contendrá versiones de SDK y versiones de herramientas de compilación para que cada módulo mantenga la coherencia. Solo edite el archivo
gradle.properties
y agregue líneas:ANDROID_BUILD_MIN_SDK_VERSION=14 ANDROID_BUILD_TARGET_SDK_VERSION=21 ANDROID_BUILD_TOOLS_VERSION=21.1.3 ANDROID_BUILD_SDK_VERSION=21
Ahora puede usarlo en sus archivos
build.gradle
(en módulos de aplicaciones y bibliotecas) como a continuación://... android { compileSdkVersion Integer.parseInt(project.ANDROID_BUILD_SDK_VERSION) buildToolsVersion project.ANDROID_BUILD_TOOLS_VERSION defaultConfig { minSdkVersion Integer.parseInt(project.ANDROID_BUILD_MIN_SDK_VERSION) targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION) } } //...
Eso es todo. Simplemente haga clic en ‚sincronizar el proyecto con el icono de Gradle '' . Su biblioteca debe estar disponible en su proyecto.
Google I / O 2013 - El nuevo sistema de desarrollo de SDK de Android es una excelente presentación sobre cómo crear aplicaciones de Android con el sistema de desarrollo de Gradle: como dijo Xavier Ducrohet:
Android Studio tiene que ver con la edición, la depuración y la creación de perfiles. No se trata de construir más.
Al principio puede ser un poco confuso (especialmente para aquellos que trabajan con Eclipse y nunca han visto a la hormiga como yo), pero al final, Gradle nos brinda grandes oportunidades y vale la pena aprender este sistema de construcción.
Primera forma Esto está funcionando para MacBook.
Primero seleccione su archivo builder.gradle como pantalla dada:
Añade dependencias como en la pantalla seleccionada:
Seleccione el proyecto de sincronización.
Si recibe un error como "Proyecto con ruta '': signature-pad'' no se pudo encontrar en proyecto '': aplicación''", entonces use la segunda forma:
Seleccione el menú Archivo -> Nuevo -> Importar módulo ... :
Después de hacer clic en Importar Módulo ,
Dar la ruta de la biblioteca como como mi ruta de MacBook:
Haga clic en Finalizar . Ahora se agrega su biblioteca.