簡體   English   中英

如何發布另一個Android庫項目依賴的AAR?

[英]How to release an AAR with another android library project dependency?

這是我的開發項目結構:

projectFolder
  |
  +--App
  |
  +--MyLib
  |
  +--Libraries
      |
      +--LibA

MyLib依賴於LibA,我已將MyLib打包為AAR並將其發布到Maven倉庫,但當我將MyLib作為遠程aar依賴項包含在另一個項目( TestProj )中時,我得到構建錯誤(無法解析LibA的依賴關系, LibA不包含在MyLib的發布中),這是TestProj的 app文件夾中的build.gradel:

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile ('xxx.xxxxxx:yyyyy:1.0-SNAPSHOT@aar'){
      transitive = true
  }
}

這是MyLib的build.gradle:

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  compile project(':Libraries:LibA')
}

如何在已經打包在AAR中的LibA中發布MyLib

自己回答這個問題。 最后我將MyLib中build.gradle更改為:

dependencies {
  compile fileTree(dir: 'libs', include: ['*.jar'])
  provided project(':Libraries:LibA')
}

所以LibA只會在MyLib的構建過程中使用, TestProj在編譯時不再要求LibA依賴。 注意這可能會在運行時導致NoClassDefFoundError,因此您必須告訴使用您的庫的人將LibA自己包含在他們項目的build.gradle中。

起初,我一直在尋找一種方法來使用MyLib打包LibA ,但這看起來很困難

看到這個問題: Android Studio如何從多個庫項目中打包單個AAR?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM