如何释放与另一个Android库项目依赖关系的AAR?

这是我的发展项目结构:

 projectFolder
   |
   +  - 应用
   |
   +  -  MyLib中
   |
   +  - 库
       |
       +  - 力霸

MyLib依赖于LibA,我将MyLib打包为AAR并将其发布到Maven repo,但是当我将MyLib作为远程aar依赖项包含在另一个项目( TestProj )中时,出现构build错误(无法parsingLibA的依赖关系, 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

Solutions Collecting From Web of "如何释放与另一个Android库项目依赖关系的AAR?"

自己回答这个问题。 最后我将MyLib中build.gradle改为:

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

所以LibA只会在MyLib的构build过程中使用, TestProj在编译时不会再要求LibA依赖。 注意这会在运行时造成NoClassDefFoundError,所以你必须告诉那些使用你的库的人把LibA自己包含在他们项目的build.gradle中。

起初,我正在寻找一种将LibAMyLib打包在一起的方法,但似乎很困难

看到这个问题: Android Studio如何从多个库项目打包单个AAR?