2016-11-17 11 views
0

사물을 단순화하기 위해 library_a.aar 및 library_b.aar를 사용중인 라이브러리를 호출 할 것입니다.중첩 된 aar 종속성이 작동하지 않음

내가 직면 한 시나리오는 다음과 같습니다. library_a가 빌드되어 maven_repository에 푸시되며 여기에는 문제가 없습니다. library_b는 library_a에 따라 다음과 같이 library_b에 추가 :

repositories { 
    maven { 
     credentials { 
      username USERNAME 
      password PASSWORD 
     } 
     url "https://api.bitbucket.org/1.0/repositories/COMPANY/maven_repository/raw/releases" 
    } 
} 

dependencies { 
    ... 
    compile 'package:library_a:1.0' 
    ... 
} 

library_b가 오류없이 내장하고 maven_repository에 업로드됩니다.

내 응용 프로그램은 자격 증명과 함께 리포지토리를 (위와 같이) 추가하여 추가해야하는 library_b에 의존합니다. 나는 @aar 그렇지 않으면 Gradle을 원 '을 추가해야

dependencies { 
    ... 
    compile 'package:library_b:[email protected]' 
    ... 
} 

: 내가 직면하고있어

첫 번째 문제는 내 프로젝트에 library_b를 컴파일하기 위하여는 다음과 같은 방법으로 컴파일 할 필요가 있다는 것입니다 그것을 인식하지만, 나는 library_a로 그렇게 할 필요가 없었습니다.

두 번째 문제는 앱을 빌드 할 때 library_a에서 사용할 수있는 클래스에 대한 참조를 찾을 수 없다는 경고를 받는다는 것입니다. 내가 여기서 무엇을 놓치고 있니? 나는 transitive = true를 library_a에 추가하려고 시도했습니다.

그러나 실제로는 아무 효과가 없습니다. 나는 pom 파일을 확인했고 적절한 종속성을 포함하고있다. 내가 할 수있는 일은 gradle에서 지원하지 않을 수 있으며 내 앱에서 library_a와 library_b를 모두 컴파일해야합니까?

+0

를 사용하는 방법 업로드 않는 받는다는의 repo에 AAR의? gradle 작업을 실행하거나 손으로? – larsgrefer

+0

@larsgrefer –

답변

0

메이븐 저장소와 같은 소리에는 aar 개의 파일 만 포함되어 있지만 pom 개의 파일은 포함되어 있지 않습니다.

aar을 메이븐 리포지토리에 업로드하려면 다음의 gradle 플러그인과 uploadArchives gradle 작업을 사용하고 있습니까? https://github.com/dcendents/android-maven-gradle-plugin

aar의이 Gradle을 조각을 시도 :

buildscript { 
    repositories { 
     mavenCentral() 
    } 

    dependencies { 
     classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5' 
    } 
} 

apply plugin: 'com.android.library' 
apply plugin: 'com.github.dcendents.android-maven' 

android { ... } 

dependencies { ... } 

uploadArchives { 
    repositories { 
     mavenDeployer { 
      repository(url: "https://api.bitbucket.org/1.0/repositories/COMPANY/maven_repository/raw/releases") { 
       authentication(userName: USERNAME, password: PASSWORD) 
      } 
     } 
    } 
} 

는 그 다음 uploadArchives Gradle을 작업

+0

업로드하려면 https://github.com/JeroenMols/GitAsMaven을 사용하고 pom 파일은 올바른 종속성이 있습니다. 나는 GitAsMaven github 예제 (https://github.com/JeroenMols/GitAsMaven)를 사용했다. –