• Android自定义公共引入库(多个项目引入同一自定义框架类库)


    概述

    Android开发快捷的一个地方就是可以引入别人写好的类库模块,供我们高效开发和使用。
    有时候我们自已开发的项目多了,也会有自己的一些类库包,但毕竟还在开发期,需要经常变更,所以还没办法直接上传到Maven中进行简单的参考引用。

    这时候就要用一些小技巧,把我们自己的公共类库引入到不同的专案中,需要修改时,只要修改公共类库一份代码,其他专案重新编译即可生效。

    第一步:新建公共类库

    New Project > No Activity 会默认生成一个空的带有app模块的专案。
    专案配置settings.gradle文件中的结构

    rootProject.name = "ZGLibrary"
    include ':app'
    
    • 1
    • 2

    实例如:新增zgmvp模块

    切换到project目录,然后在专案名称上右键,new > module
    确保新模块的名称前面没有:app字样,不然会将新模块建立到app模块目录下面去
    建立完成后会在app同级目录下生成新模块的目录,此时再切换回android目录即可看到刚才建立的新模块了。

    此时再去检查settings.gradle文件会发现多了一行
    include ':zgmvp'

    至此,重建专案,即可在同一个项目中不同模块间实现了互相调用。

    加入参考

    因为在同一专案下,使用Android Studio编译时都是整个专案一起编译,所以,不用再在app模块下添加编译library的语句

    如果是在其他专案下被引用时,则要在相应的app > build.gradle > dependencies下加上编译类库的语句

    implementation project(':zgmvp')
    
    • 1

    第二步:跨专案引用公共类库

    单个模块引入

    settings.gradle中添加如下代码,引入哪个模块,就把哪个模块的目录指定出来

    include ':zgmvp'
    project(':zgmvp').projectDir = new File("../ZGLibrary", "zgmvp")
    
    • 1
    • 2

    上面修改完成后,记得在build.gradle中加入相应参考,然后清空专案重建一下看看是不是生成了引入的模块相应的build.gradle了,也就代表成功了

    在这里插入图片描述
    测试了下,去修改完公共类库后,再回到当前专案,重建时就会把相关的变更引入进来。

    多模块引入

    先引入专案目录,指定好专案目录后再分别引入相应模块

    实际使用时发现这种直接引入整个方案的会报gradle version错误,后期还是以上面的单个模块引入为主。
    另外这种方式也有个问题就是如果我只想要专案下的一个小项目,却也要引入整个方案也不好。

    include ':ZGLibrary'
    project(':ZGLibrary').projectDir = new File("../ZGLibrary")
    include ':ZGLibrary:zgmvp'
    
    • 1
    • 2
    • 3
  • 相关阅读:
    专精特新是指的哪些企业?专精特新通过有什么补贴?
    成长与突破
    硕士开题报告模板、博士专家推荐信、科研课题申报模板大全
    Mac M2芯片安装Anaconda的版本不兼容的问题
    [机缘参悟-105] :得寸进尺是人的适应环境的体现,一个IT人的体悟
    现代检测技术--概论
    TiDB Lightning 快速上手
    基于食肉植物优化算法的线性规划问题求解matlab程序
    WebSocket快速入门及基本使用
    什么时候去检测大数据信用风险比较合适?
  • 原文地址:https://blog.csdn.net/ymtianyu/article/details/127789168