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项目库代码是同一份)。

 

posted @ 2018-12-17 20:38 HappyCorn 阅读(...) 评论(...) 编辑 收藏