2016-11-15 3 views
0

다른 프로젝트의 라이브러리로 사용되는 Android 폐쇄 소스 모듈이 있습니다. 외부 종속성을 포함합니다. 외부 의존성이있는 Android 라이브러리 게시

내가 다음 Gradle을 작업과 메이븐 이슈를 만드는거야, 그것을 게시하려면 :


apply plugin: 'maven' 

def coreAarFile = file('...build\\outputs\\aar\\android-sdk-release.aar') 

artifacts { 
    archives coreAarFile 
} 

uploadArchives { 
    repositories.mavenDeployer { 
     repository(url: "file://.\\mvn-repo") 
     pom.project { 
      groupId 'a.blabla' 
      artifactId 'blabla-sdk' 
      version "1.0.0" 
     } 
    } 
} 

그것은 문제없이 .aar 파일, pom.xml 파일 등을 생성합니다.

그럼 내 라이브러리에 의존적 인 프로젝트를 만듭니다. 클래스가 예외를 찾을 수없는 예외를 throw 할 때 외부 종속성에 액세스해야 할 때까지 작동합니다.

외부 종속성 또는 적어도 이들에 대한 참조를 포함하도록 내 gradle 작업을 편집하려면 어떻게해야합니까? 이들은 mvnrepository.com 및 github.com에 게시됩니다.

+0

일반적으로 종속 항목의 이슈 ID는 자동으로 POM에 추가됩니다. AAR과 함께 배포 된 POM을 검사하여 종속성이 식별되는지 여부를 확인할 수 있습니다. – CommonsWare

+0

POM에 요소 목록이 포함될 것으로 예상됩니다. 불행히도 그렇지 않습니다. – pisapapiros

+1

오, 기다려. 실제로'build.gradle' 파일에'uploadArchives'가없는 이유는 실제로 아티펙트를 만들고있는 곳입니까? 스크립트가 노출 된 AAR을 게시하려고하는 것 같습니다. 종속성 정보는 보통 실제'build.gradle' 파일에 있으며'uploadArchives'가 해당 스크립트의 일부인 경우 포함됩니다. – CommonsWare

답변

0

uploadArchives를 모듈의 build.gradle로 이동하고 artifacts 요소를 제거했습니다. 그것은 작동합니다!

오른쪽 방향을 가리키는 데 대한 CommonsWare 덕분입니다.