¿Cómo agrego un proyecto de biblioteca a Android Studio?


796

¿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 ).


28
sí, descubrir esto fue mucho más confuso de lo que debería haber sido ... no es que fuera mejor en eclipse.
Daniel Smith

44
El video de YouTube Cómo agregar bibliotecas a Android Studio explica el proceso.

2
Si está utilizando Gradle, vea esta respuesta de StackOverflow .
Craned

2
Aquí hay un video que me pareció realmente útil: youtube.com/watch?v=1MyBO9z7ojk
Simon

Respuestas:


718

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 proyectos de bibliotecas externas 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, simplemente 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 afectará la estructura de tu proyecto. Casi todas las bibliotecas conocidas de Android están disponibles en un repositorio de Maven y su instalación solo requiere una línea de código en el app/build.gradlearchivo:

dependencies {
     compile 'com.jakewharton:butterknife:6.0.0'
}

Agregar la biblioteca

Aquí está el proceso completo de agregar una biblioteca externa de Android a nuestro proyecto:

  1. Crea un nuevo proyecto a través del creador de Android Studio. Lo llamé HelloWorld .
  2. Aquí está la estructura original del proyecto creada 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
      ...
  1. En el directorio raíz ( HelloWorld/), cree una nueva carpeta: /libsen la que colocaremos nuestras bibliotecas externas (este paso no es obligatorio, solo para mantener una estructura de proyecto más limpia).
  2. Pegue su biblioteca en la /libscarpeta 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
      ...
  1. Edite settings.gradle agregando su biblioteca a include. Si usa una ruta personalizada como lo hice, también debe definir el directorio del proyecto para nuestra biblioteca. Un settings.gradle completo debería verse a continuación:

    include ':app', ':PagerSlidingTabStrip'
    project(':PagerSlidingTabStrip').projectDir = new File('libs/PagerSlidingTabStrip')
    

5.1 Si enfrenta el error "Configuración predeterminada", intente esto en lugar del paso 5,

    include ':app'
    include ':libs:PagerSlidingTabStrip'
  1. En app/build.gradleagregar 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")
    }
  1. Si su proyecto de biblioteca no tiene build.gradlearchivo, debe crearlo manualmente. Aquí hay un 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']
                }
            }
        }
    
  2. Además, puede crear una configuración global para su proyecto que contendrá versiones de SDK y versión de herramientas de compilación para cada módulo para mantener la coherencia. Solo edite el gradle.propertiesarchivo 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 build.gradlearchivos (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)
        }
    }
    //...
    
  3. Eso es todo. Simplemente haga clic en sincronizar el proyecto con el icono de Gradle sincronizar con Gradle. Su biblioteca debería estar disponible en su proyecto.

Google I / O 2013: el nuevo Android SDK Build System es una excelente presentación sobre la creación de aplicaciones de Android con Gradle Build System: como dijo Xavier Ducrohet:

Android Studio se trata de edición, depuración y creación de perfiles. Ya no se trata de construir.

Al principio puede ser un poco confuso (especialmente para aquellos que trabajan con Eclipse y nunca han visto la hormiga, como yo;)), pero al final Gradle nos brinda grandes oportunidades y vale la pena aprender este sistema de construcción.


66
Hola, explicaste perfectamente el verdadero problema. votando tu respuesta para que otras personas puedan verla. Una cosa menor que no funcionó de mi lado es hacer referencia a la biblioteca de soporte en build.gradle de la dependencia. como resultado ': Proyecto / libs ...' no funcionó por alguna razón. Tuve que eliminar la identificación del proyecto. entonces 'libs / ...'. y se compiló bien. Una nota es que estas dos formas de referenciar rutas o proyectos son confusas. Espero que surja un esquema simple y unificado en el futuro. No hay razón para que la solución original no funcione.
victor n.

99
+1. Estuve luchando con esto por mucho tiempo. Como dijo victor n , hacer referencia al jar de soporte del proyecto principal desde el módulo actionbarsherlock no funciona. Tuve que hacer lo siguiente para que funcionara ... (1) Eliminar archivos de compilación ('libs / android-support-v4.jar') del build.gradle del proyecto. El módulo principal solo debe tener un proyecto de compilación (": bibliotecas: actionbarsherlock") . (2) Agregue archivos de compilación ('libs / android-support-v4.jar') en lugar de compilar archivos (': HelloWorld / libs / android-support-v4.jar') en el build.gradle de actionbarsherlock.
Akbar ibrahim

3
¿Dónde está Global libraries(# 10: "ahora ir a las bibliotecas globales")? Aparte de eso, funciona como se describe :) Muchas gracias. (Espero que Google lo haga, una tarea tan simple es tremendamente compleja en este momento)
Konrad Morawski

8
¿Por qué no tengo la sección "Importar módulo", en la opción a la que nos dirige? Estoy usando Android Studio 0.3.1
alicanbatur

55
¡Falta la opción Importar módulo!
amalBit

274

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 presione el botón más y seleccione Importar proyecto existente e importar actionbarsherlock. Luego sincronice sus archivos Gradle.

Si te enfrentas al error

Error: la revisión de SDK Build Tools (xx.xx) es demasiado baja. El mínimo requerido es aa.aa

simplemente abra el build.gradlearchivo en el actionbarsherlockdirectorio y actualice el buildToolsVersional sugerido.

android {
  compileSdkVersion 19
  buildToolsVersion 'yy.y.y'

Android Studio 0.8.2


Archivo de menú -> Estructura del proyecto ... :

primero

Módulo -> Módulo Importar

Segundo

Después de importar el módulo de biblioteca, seleccione su módulo de proyecto y agregue la dependencia:

Tercero

Y luego seleccione el módulo importado :

Adelante


31
La opción de módulo de importación no está disponible en Android Studio4.3
amalBit

3
La clave para hacer que esto funcione y resolver los errores de paquete no encontrado fue el pasoSelect your project module and add dependency dependencies { // ... compile project(':library') }
toobsco42

77
Esto copiará el módulo de la biblioteca en su proyecto, que no es lo que desea si desea que se comparta una base de código común entre varios proyectos
Rémy DAVID

@amalBit son ... ¿eres del futuro? Pero en serio, necesitan simplificar esto como lo fue en Eclipse ADT; ¿Quién quiere obtener un repositorio de terceros y compilar (potencialmente) código arbitrario en cada compilación? Eso socava seriamente los protocolos de control de calidad y congelación de código
CCJ

Fue hace mucho tiempo durante los días beta de Android Studio 0.4.3. En cuanto a la accesión a un repositorio de terceros, diría, evite usar +. Solo especifique la versión que desea. Si aún no puede confiar lo suficiente, puede crear un frasco (o clon) de cualquier repositorio y usarlo.
amalBit

111

Use el menú Archivo -> Estructura del proyecto -> Módulos .

Empecé a usarlo hoy. Es un poco diferente

Para Sherlock, tal vez desee eliminar su directorio de prueba o agregar el junit.jararchivo al classpath.

Para importar la biblioteca usando gradle, puede tener que agregarla a la dependenciessección 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 "Configuración de módulo abierto" si hace clic derecho en una carpeta de módulo en la sección de proyecto de Android Studio (estoy usando la versión 0.2.10).


1
Hmm, todavía dice android-apt-compiler: styles.xml: 5: error: Error al recuperar el elemento primario para el elemento: No se encontró ningún recurso que coincida con el nombre dado 'Theme.Sherlock.Light.DarkActionBar'.
Alexander Kulyakhtin

Bajo el Módulo Sherlock -> Dependencias Tengo Android 4.2.2 y la Biblioteca de soporte v4
Blackbelt

@ ρяσѕρєяK al lado del botón de ejecución, hay una etiqueta con Android. Si hace clic allí, encontrará Editar configuración. Presione y debajo del dispositivo de destino, haga clic en "Mostrar selector de selector"
Blackbelt

77
Hola, tengo el mismo problema que Alex ("Gradle: error al recuperar el elemento primario para el elemento: no se encontró ningún recurso que coincida con el nombre dado 'Theme.Sherlock.Light'."): La dependencia de Java parece resolverse correctamente, porque IDE no culpa a mi SherlockActivity, pero por alguna razón Gradle no parece mirar los recursos de ABS. ¿Algunas ideas?
pescado

44
En Android Studio 0.2.8 no hay una Modulessección en la Project Structureventana.
Konrad Morawski

52

Consideraría la lectura necesaria de Dependencias, Bibliotecas de Android y Configuración de proyectos múltiples . Tómese unos minutos para hacerlo.

En particular, en el caso de un proyecto de biblioteca que no sea jar, lea el siguiente fragmento de la fuente anterior:

Los proyectos de Gradle también pueden depender de otros proyectos de Gradle mediante el uso de una configuración multiproyecto. Una configuración multiproyecto generalmente funciona al tener todos los proyectos como subcarpetas de un proyecto raíz determinado.

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 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 Gradle.

Es probable que el proyecto: app 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 submódulos git para vincular la biblioteca anidada al repositorio git de la biblioteca real para evitar un desastre de dependencia.


Muy útil y, lo que es más importante, no jugar a los caprichos de la interfaz gráfica del día.
RichieHH

1
Muchas gracias por incluir la única respuesta que tiene sentido. cualquier otra respuesta está desactualizada y simplemente no funciona. Ni siquiera intenté en CS en Virginia Tech porque los primeros dos años aprendieron a hacer clic en eclipse. que no tiene ningún sentido fckn, pero al ver la Gradle resultado de clics al azar en un IDE hace.
dcunited001

Gracias por la sugerencia de submódulos git. Estaba usando un cruce antes, pero ahora he cambiado a SVN externos. Funciona de maravilla.
velis

25

Acabo de encontrar una manera más fácil (en lugar de escribir directamente en los archivos .gradle).

Esto es para Android Studio 1.1.0.

  1. Archivo de menú -> Nuevo módulo ... :

    Importar proyecto existente

    Haga clic en "Importar proyecto existente".

  2. Seleccione la biblioteca deseada y el módulo deseado.

  3. Haga clic en finalizar. Android Studio importará la biblioteca a su proyecto. Se sincronizará archivos gradle.

  4. 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 la biblioteca se agregará a las dependencias del proyecto.

    Agregar módulo de biblioteca

  5. ???

  6. Lucro


17

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):

  1. En settings.gradle add

    include ':facebook'
    
    project(':facebook').projectDir = new File(settingsDir, '../dependencies/FacebookSDK')
  2. En la sección de dependencias build.gradle, agregue

    compile project ('facebook')

Todo lo que queda por hacer es sincronizar el proyecto con los archivos gradle.


Hola Vilen, ¿cuál es la configuración
Dir

Hola rajnish De la documentación: settingsDir Devuelve el directorio de configuración de la compilación. El directorio de configuración es el directorio que contiene el archivo de configuración. Devoluciones: El directorio de configuración. Nunca vuelve nulo.
Vilen

Los dos puntos antes / dependencias son más importantes para cuidar. Su respuesta me ayuda mucho .. Gracias
Rajnish Mishra

NOTA: para la evaluación de cadenas en gradle debe usar comillas dobles ("). Esto" salva el día "para mí. Vinculado a esto
Solata

15

Una forma sencilla de agregar un archivo JAR como biblioteca a su proyecto de Android Studio:

a) Copie sus archivos * .jar

b) Pegue en el directorio libs debajo de sus proyectos:

Ingrese la descripción de la imagen aquí

c) Agregar 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 verificará su compilación y creará todos los cambios necesarios en su proyecto. Después de eso, puede revisar esta configuración 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.


12

Opción 1: colocar archivos en el directorio libs / 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 Google Play Services, 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, Controlhaga clic en el módulo al que desea agregar la dependencia y seleccione Abrir configuración del módulo.

Ingrese la descripción de la imagen aquí

Seleccione la pestaña Dependencias, seguido del botón + en la esquina inferior izquierda. Puede elegir de la siguiente lista de opciones:

  • Dependencia de biblioteca
  • Dependencia de archivo
  • Dependencia del módulo

Luego puede ingresar más información sobre la dependencia que desea agregar a su proyecto. Por ejemplo, si elige la dependencia de la biblioteca, Android Studio muestra una lista de bibliotecas entre las que puede elegir.

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.

Fuente


10

Así es como me funciona 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 al 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, la biblioteca incluida, algo como esto:

include ':app', ':library'

Agregue build.gradle (Módulo: aplicación) en la sección de dependencias:

Compilar proyecto (': biblioteca')

Reconstruye el proyecto y listo.

* Puede agregar tantas bibliotecas (módulos) como desee. 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')
    ...
}

9

Si necesita acceso 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".


9

Puedes hacer esto fácilmente. Vaya al menú Archivo -> Nuevo -> Módulo de importación ... :

Ingrese la descripción de la imagen aquí

Busque el directorio que contiene el módulo. Haga clic en Finalizar:

Ingrese la descripción de la imagen aquí

Vaya a Estructura del proyecto y agregue Dependencia del módulo :

Ingrese la descripción de la imagen aquí

Nota: Si recibe un error de SDK, actualícelo.


1
En mi opinión, la forma más simple y rápida, todavía funcionaba a partir de hoy.
Mrj

8
  1. Presione F4para mostrar Estructura del proyecto , haga clic en bibliotecas o bibliotecas globales y haga clic +para agregar el archivo JAR.
  2. Haga clic en Módulos en lo que desea agregar jar, seleccione la pestaña Dependencias , haga clic +y agregue Biblioteca.

6

No es aconsejable editar las dependencias de la biblioteca a través de la GUI, ya que eso no escribe esos cambios en su archivo build.gradle. Entonces su 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/

  • aplicación /
  • bibliotecas /
    • lib1 /
    • lib2 /

Podemos identificar tres proyectos. Gradle los referenciará con los siguientes nombres:

  1. : aplicación
  2. : bibliotecas: lib1
  3. : bibliotecas: lib2

Es probable que el proyecto: app dependa de las bibliotecas, y esto se hace declarando las siguientes dependencias:

dependencies {
    compile project(':libraries:lib1')
}

De Verdad? Extraño, tienen toda la GUI y, sin embargo, no es aconsejable. ¿Cómo es eso?
Alexander Kulyakhtin

Como la edición a través de la GUI no escribe esos cambios en su archivo build.gradle. La edición de la GUI solo guarda los cambios en los datos del proyecto de IntelliJ. Este es un error en este momento que se solucionará en futuras versiones. Puede consultar esta respuesta de Google Android-Studio Team Lead stackoverflow.com/questions/16678447/…
Shakti Malik

5

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 probablemente se compila como un proyecto de aplicación. Para cambiar esto, vaya a:

Archivo de menú -> Estructura del proyecto -> Facetas -> [Nombre de la biblioteca] -> Marque "Módulo de la biblioteca".


5

Primera forma Esto está funcionando para MacBook.

Primero seleccione su archivo builder.gradle como pantalla dada:

Ingrese la descripción de la imagen aquí

Agregue dependencias como en la pantalla seleccionada:

Ingrese la descripción de la imagen aquí

Seleccione proyecto de sincronización.

Si recibe un error como "No se pudo encontrar el proyecto con la ruta ': firma-pad' en el proyecto ': aplicación'", utilice la segunda forma:

Seleccione el menú Archivo -> Nuevo -> Importar módulo ... :

Ingrese la descripción de la imagen aquí

Después de hacer clic en Importar módulo ,

Ingrese la descripción de la imagen aquí

dar la ruta de la biblioteca como mi ruta de MacBook:

Ingrese la descripción de la imagen aquí

Haz clic en Finalizar . Ahora se agregan su biblioteca.


4

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 cuando 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.


Intenté todos los pasos, incluida la adición del módulo como una dependencia, pero todavía lo tengo Gradle: Error retrieving parent for item: No resource found that matches the given name 'Theme.Sherlock.Light'.. Parece que mi proyecto principal no ve los recursos del proyecto de biblioteca (ABS). Sin embargo, el IDE reconoce las referencias a clases y recursos. Captura de pantalla
christiaanderidder

Estoy migrando a IDEA 13 desde 12 y también tengo este error. Solo la reimportación para todas mis dependencias ayudará. Elimine manualmente todos los módulos, elimine los archivos * .iml relacionados y vuelva a importar sus bibliotecas
Dmitriy Tarasov

4

Android Studio 3.0

Simplemente 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 en implementationlugar de compileahora. Esto es nuevo con Android Studio 3.0. Consulte estas preguntas y respuestas para obtener una explicación de la diferencia.


En realidad, es un cambio en Gradle 4, no en Android Studio 3. Puede continuar usando en com.android.tools.build:gradle:2.3.3lugar de 3.0.0 en Android Studio 3 si desea continuar usando "compilar".
chauduyphanvu

3

Para resolver este problema, solo necesita agregar la ruta del recurso abs al archivo de compilación de su proyecto, tal como se muestra a continuación:

sourceSets {
    main {
        res.srcDirs = ['src/main/res','../../ActionBarSherlock/actionbarsherlock/res']
    }
}

Entonces, nuevamente compilo sin ningún error.


3

Si usted tiene Android Studio .0.4.0, puede crear una nueva carpeta en su trayectoria de la estructura, YourApp/libraries. Copie el archivo JAR. Allí, haga clic derecho sobre él y "Agregar como biblioteca". Ahora tienes una ventana emergente. Simplemente seleccione su directorio y presione OK, y listo.


3

Simplemente importe el proyecto de la biblioteca de Android como módulo y en Build.gradle .

Aplicar complemento: 'com.android.library'

Después de eso, sigue estos pasos:

  1. Haga clic derecho en Módulo y seleccione abrir Configuración del módulo
  2. Seleccione dependencias, haga clic en +, seleccione dependencias de biblioteca y agregue el módulo importado anteriormente.



2

Básicamente, puede incluir sus archivos JAR de tres maneras diferentes. La última es la biblioteca remota que utiliza el depósito 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://stackoverflow.com/a/35369267/5475941 para obtener más información. En esta publicación, le expliqué cómo importar su archivo JAR en el estudio de Android y le 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:

ingrese la descripción de la imagen aquí

Pero, si se trata de una dirección de Internet como esta, son bibliotecas remotas (parte bincey.com jcenter) y se utilizarán de forma remota:

ingrese la descripción de la imagen aquí

Espero que ayude.


2

Abra el archivo de aplicación del módulo build gradle y agregue su dependencia. Si descarga la biblioteca, simplemente importe y compile como gradle.

De lo contrario, agregue repositorios en la aplicación del módulo de gradle lateral:

repositories {
        maven { url 'http://clinker.47deg.com/nexus/content/groups/public' }
}

Los primeros repositorios descargarán la biblioteca por usted.

Y compile 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 importar módulo nuevo.


2

Tenía una causa diferente del problema, así que para las personas:

repositories {
    mavenCentral()
}

cambie mavenCentral () a jcenter () y agregue

allprojects {
    repositories {
        jcenter()
    }
}

1

En Android Studio, vaya a la carpeta de aplicaciones internas y abra el archivo build.gradle. Aquí verá dependencias {}. Dentro de él puede agregar el proyecto de 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.


1

Para Android Studio:

Ingrese la descripción de la imagen aquí

Haga clic en Build.gradle (módulo: aplicación) .

Y agregue para

dependencies {
    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile files('libs/commons-io-2.4.jar')
}

y en su directorio "aplicación", cree un directorio, "libs". Agregue el archivo yourfile.jar:

Ingrese la descripción de la imagen aquí

Finalmente, compile los archivos de Gradle:

Ingrese la descripción de la imagen aquí


0

También encontré el mismo problema y luego hice lo siguiente.

  1. Importo el proyecto de la biblioteca en mi AndroidStudio IDE como un módulo usando el menú Archivo -> Importar menús del módulo

  2. Luego fui a mi módulo principal en el que quiero que el proyecto de la biblioteca sea un proyecto dependiente

  3. 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 obtendrá en el lado derecho de la ventana) -> haga clic en la dependencia del módulo - > seleccione su proyecto de biblioteca de la lista

Aplica los cambios y haz clic en el OKbotón.

Funcionó para mi. Espero que ayude a otros también.


0

Agregue esto en su archivo de construcción gradle:

 dependencies {
     implementation 'com.jakewharton:butterknife:9.0.0'
}

-1

De hecho, a medida que las versiones cambian, también cambia 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 .

  1. Con el mouse, seleccione el proyecto en el nivel principal (aquí es donde muestra el nombre de su aplicación).

  2. Haga clic derecho y seleccione las opciones de menú Nuevo, Carpeta, Carpeta de activos .

  3. Después de crear la carpeta de activos, péguela o cópiela, sea cual sea el archivo JAR que necesite para su biblioteca.

  4. Desde el menú principal de Android Studio (parte superior de la pantalla) seleccione Archivo -> Estructura del proyecto .

  5. Luego seleccione el nombre de su proyecto y vaya a la pestaña Dependencias .

  6. Haga clic en el signo más ( +) en la esquina inferior izquierda del cuadro de diálogo y seleccione la dependencia del archivo.

  7. Finalmente, abra la carpeta de activos creada recientemente, seleccione los archivos JAR que copió y luego haga clic en aplicar y OK.

Limpia y reconstruye tu proyecto.


1
hacer copias de tarros en activos no es una buena idea que aumentará innecesariamente el tamaño apk
Rajnish Mishra

Gracias por el consejo @RajnishMishra. Sospeché eso, pero ¿qué propones en su lugar?
lunes
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.