繁体   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