visual studio microsoft español descargar community android android-studio gradle android-gradle android-library

android - studio - Las dependencias de biblioteca transitiva no se encuentran en la aplicación



visual studio installer (1)

El archivo aar no contiene las dependencias anidadas (o transitivas ) y no tiene un archivo pom que describe las dependencias usadas por la biblioteca.

Significa que, si está importando un archivo aar utilizando un repositorio flatDir , debe especificar las dependencias también en su proyecto .

No tiene sentido:

compile (name:''library-name'', ext:''aar''){ transitive=true }

porque el aar no tiene un archivo pom que describa las dependencias, entonces gradle no puede agregar ninguna dependencia porque no puede conocerlas.

Supongamos que tengo un módulo de biblioteca que contiene algunas bibliotecas de terceros como OkHttp. Cuando incluí esta biblioteca en mi aplicación, no pude usar estas bibliotecas de terceros. Leí los siguientes artículos Artículo 1 , Artículo 2 y probé
1. compile project('':library-name'')
{después de importar el archivo .aar (de la biblioteca) como un módulo en myproject}
2. Incluí el archivo .aar en la carpeta libs y agregué las siguientes dependencias

build.gradle (nivel de proyecto)

allprojects { repositories { flatDir { dirs ''libs'' } } }

build.gradle (nivel de aplicación)

compile fileTree(dir: ''libs'', include: [''*.jar'']) compile (''com.myapp.package:library-name:1.0.0@aar''){ transitive=true }

3. similar a la 2ª pero en
build.gradle (nivel de aplicación)

compile fileTree(dir: ''libs'', include: [''*.jar'']) compile (name:''library-name'', ext:''aar''){ transitive=true }

Pero, aun así, no pude usar las bibliotecas transitorias que están presentes en mi biblioteca. Estoy siguiendo la excepción.

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/squareup/okhttp/MediaType;

Alguien puede ayudar

EDITAR:
Lo siguiente es build.gradle de mi biblioteca

compile fileTree(dir: ''libs'', include: [''*.jar'']) testCompile ''junit:junit:4.12'' compile ''com.android.support:appcompat-v7:23.1.1'' compile ''org.apache.httpcomponents:httpcore:4.4.4'' compile ''org.apache.httpcomponents:httpclient:4.5.1'' compile ''com.squareup.okhttp:okhttp:2.6.0'' compile ''petrov.kristiyan.colorpicker:colorpicker-library:1.0.3'' testCompile ''junit:junit:4.12'' testCompile ''org.mockito:mockito-core:1.10.19'' testCompile ''org.hamcrest:hamcrest-library:1.1'' compile files(''notificationlog-0.1.0.jar'')

Pude usar el okhttp notificationlog en mi aplicación que era una dependencia en mi biblioteca, pero no okhttp usar okhttp y colorpicker