• Android项目中独立Git项目分库后的编译调试时Gradle的配置


    基于AS开发项目,对于特定的功能模块,往往抽取成独立的库进行管理,然后上传到Marven库中,通过Gradle依赖的方式进行引用。

    其优势体现在:

    1,独立的Git项目库,模块功能,及职责界定清晰;

    2,外部使用方一般无须关注此Git项目库的具体实现和逻辑细节,只需按照对应的对外暴露的方式调用即可;

    3,一般此类Git项目库有专门的管理员,和技术人员实现其功能的迭代和维护更新,以及对应的版本管理;

    4,使用方只是通过Gradle引用, 此Git项目库在安全性上有进一步保障。

    但在实际开发中,有时候需要对此Git项目库进行修改,对应需要和主工程进行联调测试等,此时如果每次修改此Git项目库代码后,更新到Marven库,然后再在主工程

    更新对应的marven版本依赖,无论是实现过程,还是实际调试等,都过于繁琐。

    Gradle提供了特定的语法结构,可以在调试时直接类似于引入此项目其他模块的方式引入此类独立Git库。

    具体语法结构为:

    settings.gradle文件:

    include ':cornlog'
    project(':cornlog').projectDir = new File('../CornLogSDK/cornlogsdk')

    主工程build.gradle文件:

    dependencies {
        ......
    
        api(project(':cornlog')) {
            exclude group: 'com.abc.mlog', module: 'mlog'
        }
    
         .......     
    }

    sync后,可以发现此独立Git项目库会出现在当前主工程左侧项目导航视图中,可以直接修改、编译、调试等。类似于主工程项目内其他独立模块效果。

    但Git commit等,仍然是分开的,当前主工程的Git提交依然只对主工程有效,需要提交此独立Git项目库需要到其独立Git本地工程中提交即可(代码与主工程视图中修改此独立Git项目库代码是同一份)。

  • 相关阅读:
    vsftp 上传550 Permission denied解决办法
    FileZilla 客户端连接vsftp无法访问 Received unexpected end-of-file from SFTP server 解决之路
    vsftp的安装和使用
    linux 部署jar
    java TimeUnit 的使用
    RabbitMQ 简使用案例
    Nginx一个server配置多个location
    vue 打包部署到服务器上 配置nginx访问
    踩坑之SpringBoot WebSocker 部署Tomcat冲突
    webpack4怎么使用loader对样式资源打包
  • 原文地址:https://www.cnblogs.com/lwbqqyumidi/p/10133759.html
Copyright © 2020-2023  润新知