美文网首页Android开发Android开发Android开发经验谈
Android Studio中将一个项目转变成library(m

Android Studio中将一个项目转变成library(m

作者: bfc7f634299a | 来源:发表于2019-07-26 15:14 被阅读6次

    大家平时在做项目时,会经常应用library作为第三方依赖,那么如果公司中有多个app,其中有部分业务功能逻辑是相似并且可以复用的时候,我们货怎么办呢?简单粗暴的办法就是直接复制过来,但是这样做岂不是复用率不高,以后这部分代码要修改岂不是每个app都要修改。

    那么,把这部分代码作为library在项目中引用不就解决复用率的问题。

    下面就一块来学习一下如何将公共模块打包成library:

    1.提取公共模块部分,修改主要配置

    新建一个项目,将公共模块代码放在这个新项目中,然后修改app下的build.gradle里面的参数,详细如下图所示:

    将build.gradle里面的 apply plugin: 'com.android.application' 改成 apply plugin: 'com.android.library',并且将applicationId删掉或者注释掉,这个千万不要漏掉。

    2.修改app文件夹里面的iml文件名称

    进入到app文件夹下,修改app.iml为你的library库名,即是外层文件名,我这里改成了 baselibrary:

    3.删除不要的文件夹,并对文件夹重新命名

    1. 先将除app文件夹以外的文件都删掉,只保留app这个文件夹

    2. 再将app文件夹里面所有的文件都复制到于app同级的文件夹里面

    3.删掉app这个文件夹,同时修改外层文件夹的名称(最好改成与iml文件同样的名称,我这里改成 baselibrary):

    以上我们的library就生成好了,那么我们接下来就是引用了

    1.首先我们将刚刚生成的library引用到我们的新项目中,点击File——New——Import Model,选择baselibrary文件夹:

    2.引用baselibrary作为app的model依赖,操作点击AS的File——Project Structure,会弹出如下弹窗:

    点击ok按钮这是就可以在app下的build.gradel里面看到baselibrary作为库依赖在app里面了,接下来我们就可以正常的使用依赖里的功能代码。

    特别注意点:

    1.最好baselibrary里面的AndroidManifest里不要引用Application等,具体的如下图:

    这里为什么要删除,是因为这里设置里MyApplication和LAUNCHER的话会和主项目app里面的<manifest>冲突,如果真的需要在这里设置MyApplication和LAUNCHER的话,那就需要在app的<manifest>添加忽略,具体怎么添加大家可以根据具体的报错查找,或者评论告诉我。

    2.baselinrary里面的SdkVersion、依赖的recycleView等要和app里面的一致

    3.baselibrary里面尽量不要用Butter knife,要用的话也要用8.4版本及其以上的,并且将R改成R2

    相关文章

      网友评论

        本文标题:Android Studio中将一个项目转变成library(m

        本文链接:https://www.haomeiwen.com/subject/sdqdrctx.html