How to include an Android library module in another library?

我只是一个虾纸丫 提交于 2019-12-06 18:39:32

问题


I am building an Android library that is packaged as an aar and distributed to 3rd party developers.

The structure is pretty simple:

project ---libraryA ---libraryB

libraryA requires libraryB, which is why is has this in its gradle file:

compile project(':libraryB')

And settings.gradle has

include ':libraryB', ':libraryA'

But if I build the project as an aar it only includes libraryA. What am I missing?

I read the responses to this: Android Studio how to package single AAR from multiple library projects?

Is this still not possible? I would assume that splitting up your code into multiple modules is not bad practice?


回答1:


You can try fat-aar.gradle script published here: https://github.com/adwiv/android-fat-aar




回答2:


Is this still not possible?

Correct, at least through the standard build tools. It's possible there are third-party plugins, scripts, or other recipes to create a "fat AAR" out of an AAR and its dependencies.

I would assume that splitting up your code into multiple modules is not bad practice?

Having multiple modules is perfectly fine for local development. However, modules are dependencies. When you ship a library, you need to satisfy all those dependencies, which will include any of your modules. That, in turn, means that any modules that your library depends upon must also be libraries, distributed in a way that a consumer of your top-level library will be able to get to those dependencies.



来源:https://stackoverflow.com/questions/27486506/how-to-include-an-android-library-module-in-another-library

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!