Android Library的代码结构和Android app的代码结构一样,实际上通过Android Studio创建的工程,只需要稍许修改即可变成Android Library module。
对于一些通用的代码和组件,可以制作成Library,在不用的APP中可以引入同一个Library代码。下面是笔者的实践笔记。
制作Android Library module
新建一个Android Library
直接打开Android Studio->File->New Module->Android Library。
由app module变成library module
对于已经存在的APP工程,也可以通过以下修改变成library module:
app/build.gradle修改apply plugin: 'com.android.application'为apply plugin: 'com.android.library';
app/build.gradle删除applicationId;
AndroidManifest.xml中activity不能添加android.intent.action.MAIN和android.intent.category.LAUNCHER;
依赖及使用Library
Android Studio->File->Import Module,选择Library Module的路径,并编辑一个library的名字,比如":MyLibrary"。
打开app module的app/build.gradle文件,在dependencies块中增加:
implementation project(':MyLibrary')
但这样引入会有一个问题,会直接拷贝代码:有N个工程就会拷贝N份代码。这个显然不是我们需要的。
怎么公用一份代码?
假设工程目录结构如下:
MyLibrary:Android Library工程;
ProjectA:工程A;
ProjectB:工程B;
假设三个项目在同一级目录。为了达到公用一份代码的目的,只需要在工程A和工程B的settings.gradle中增加配置:
include ':MyLibrary'
project(':MyLibrary').projectDir = new File(settingsDir, '../MyLibrary/MyLibrary')
同时,在项目module的build.gradle文件dependencies节点中增加:
implementation project(':MyLibrary')
其它文章