Android:Library module的使用

 原创    2018-10-31

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')

相关文章:

IntelliJ IDEA 制作生产 jar 包
IntelliJ IDEA:parsing java
Android:Mac下Android Studio真机调试
Android:must implement OnFragmentInteractionListener

发表留言

您的电子邮箱地址不会被公开,必填项已用*标注。发布的留言可能不会立即公开展示,请耐心等待审核通过。