Android Library Module
前言
在看一个demo的时候,看到一个工具类,在app目录下没有找到,后面在Library Module模块中找到该类,说来惭愧之前一直没注意过Library Module的使用,现在对Library Module做一个总结。
Library Module.png
项目中引用了一个工具类,看包名,好像是我们app模块中下的包,但是没有找到,后面在标号3的包(Library Module)中找到
标号4的图标是Android studio中Library Module的标志
概述
Android 库(Library)在结构上与 Android 应用模块相同。应用模块所可以包含的东西,在库中都允许存在,包括代码文件、资源文件和manifest文件等。
应用模块编译后生成的是一个apk文件,可以直接在设备上运行,但是,库模块编译后生成的是一个Android Archive文件,简称AAR。AAR文件无法像apk文件一样直接在设备上运行,我们一般用它作为Android app的依赖。
普通JAR文件只能包含代码文件和清单文件,而ARR文件不仅可以包含代码文件,还可以包含Android的资源文件和manifest文件。这样,我们就可以把资源文件像布局文件、图片文件等和Java代码文件一起分享出去。可以说ARR文件是真正专属于Android的“JAR”包。
库模块在以下情况下非常有用:
创建多个app,这些app需要使用多个相同的组件,像activity、service或UI 布局等。
创建一个app,而这个app可能需要根据需要编译成多个APK版本,比如免费版和付费版,而两个版本都需要使用到相同的组件。
在任何一种情况下,你只需要将要重用的文件放到库模块中,然后以依赖项的形式为每个应用模块添加库即可。
参考博客:https://blog.csdn.net/p892848153/article/details/52124413