App Module添加依赖Android Library时可以设置library的优先级,
在编译时,app按照library从低到高的优先级依次与每个library合并。
开发Android Library和相关APP时,请注意下面事项:
-
资源合并冲突 :
编译工具会合并library和app的资源。如果某个resource ID在两个Module中都定义了,那么会使用app的资源。
如果冲突发生在多个AAR之间,那么会优先使用dependencies列表中排在前面的library的资源。
为了防止Module直接资源冲突,请给每个Module的资源使用唯一的前缀或命名空间,就像用包名唯一确认一个APP一样。 -
Android Library可以包含JAR Library
可以在Android Library中使用JAR Library,并且依赖这个Android Library的App Module也需要配置好对这个JAR Library的引用。 -
Android Library可以依赖external JAR library
Android Library可以依赖external JAR library,如一个地图的external library,那么依赖这个Android Library的App Module编译时必须要依赖包含这个external library的target,如Google APIs Add-On。Android Library Module和App Module都必须要在Manifest文件中用申明使用这个external library。