android stduio多项目依赖的git版本控制+jenkins自动构建

我们所建立的项目,无论是出于业务逻辑和数据逻辑处理分离的原因,还是因为各模块想要更低耦合的模块化,一般而言,我们都会建立多个工程,然后利用库工程依赖的形式来组建我们的项目。比如我们Android就很经常用的,把一些公共部分的代码,不涉及业务的代码抽出来,单独建一个library工程来放置,然后让我们的业务工程来引用它。

在利用eclipse+svn的时候,实现起来是比较简单的。基本把两个工程扔到svn上,然后利用eclipse把两个工程的依赖关系依赖好就可以了。

在这里我们说的是Android studio+git的形式。

有两种实现方式:

第一种跟eclipse+svn差不多,但不能直接利用ide来实现,要修改部分编译脚本代码。

假如现在是只有一个业务工程和多个library工程。

第一步先建立两个git代码仓库,无论是oschina还是github,或者其他的远程代码仓库,都可以,其中一个放置业务工程,另外一个放置library工程,这里可以实质可以放置多个library工程,用个文件夹装着,一起上传就行了。(把那些如build的乱七八糟的文件去掉再上传)

然后分别把代码下下来,随便找地方路径放置,然后打开业务工程的setting.gradle进行修改编译脚本,手动把几个library工程包以module的方式引入进来。

如我以下的这个例子,我有一个业务工程,里面仅仅包含一个app module这个业务module。几个library工程被引用。

具体如下:

接下来分别看看两个目录下的文件:

然后打开业务工程下的setting.gradle文件进行如下的路径设置即可。



第二种是利用git submodle。

这一种的话,主要就是对git的使用,可以参考这位大哥的http://www.tuicool.com/articles/jqiEJzU

基本对着敲一遍都会了,不过这种方式有个缺点,每一个library工程都得对应一个git代码仓库,特别是现在很多第三方越来越坑爹的也要采用这种module的形式作为SDK的时候,这样就得建挺多个git代码仓库了,这就比较尴尬了。


下面是对应的Jenkins打包:


因为这部分使用git版本控制,gradle编译的Android工程Jenkins打包网上太多资料了,这里就大概说说对应的思路。

我这里的采取的是第一种方式,所以我的方式是在Jenkins上建立两个job,一个是对应library git代码仓库的(下面简称library job),一个是对应业务工程 git代码仓库的(下面简称业务job)。

其中library job不做任何编译任务,就是负责更新最新的library代码以及启动业务job的编译(填完你的git地址就行了,其他什么都不用做)。

业务job除了要更新代码之外,还要进行对应的编译,以及目标版本的输出,同时设置业务job为library job的下游,这样library job更新完代码后就会自动启动业务job了。(业务job的话直接百度,太多资料了)

(这里要注意的是,git代码仓库上面业务job的setting.gradle的路径必须是你放置Jenkins那台电脑上对应的library路径,不确定的话,就去Jenkins对应的工作目录下面找找library的路径,而其他人下下来编辑代码的时候,改为自己本地的路径之后就不允许再上传这个文件到git 代码仓库了)








  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这里记录一些常用android工具类,android开发经验,面试算法题,牛客算法题解析。也包含java数据结构,算法,爬虫,泛型,反射等实现 开发工具在软件开发生命周期中扮演着至关重要的角色,它们旨在简化和加速从概念设计到产品部署的各个环节。以下是开发工具的主要作用: 代码编写与编辑: 提供集成开发环境(IDE),如Visual Studio、Eclipse、Android Studio和Sublime Text等,这些工具集成了文本编辑器,支持语法高亮、自动补全、代码片段管理和版本控制等功能,有助于开发者高效编写和维护代码。 项目管理: 支持项目创建、组织、构建自动化以及依赖管理,确保不同模块和组件之间的协调一致。 编译与构建: 包括编译器、构建工具(如Make、Gradle、Maven)等,用于将源代码转换为可执行文件或库,并进行资源打包、优化等处理。 调试与测试: 集成调试器允许开发者逐行执行代码,设置断点、查看变量值、跟踪调用堆栈等,帮助定位并修复代码中的错误。 测试框架和工具则协助开发者编写和运行单元测试、集成测试及性能测试,确保软件质量。 版本控制与协作: 通过集成Git、SVN等版本控制系统,支持团队成员间的代码共享、分支管理、合并请求和冲突解决。 可视化设计与原型制作: 对于UI/UX设计,有界面设计工具,如Sketch、Adobe XD,可以帮助设计师快速构建应用程序界面模型,并生成规范的设计稿供开发人员参考实现。 跨平台支持: 跨平台开发工具如Xamarin、React Native和Flutter,让开发者使用一种语言或框架编写可以在多个操作系统上运行的应用程序。 文档编写与API管理: 文档生成工具可以自动生成代码注释文档,便于团队内外理解和使用项目代码。 API管理工具则方便开发者创建、测试、发布和维护API接口。 持续集成与持续部署(CI/CD): Jenkins、Travis CI、GitHub Actions等工具负责自动构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与ORM工具: 数据库客户端工具用于连接、查询、更新数据库,ORM(对象关系映射)工具简化了数据操作和持久化层的开发工作。 总之,开发工具极大地提升了软件工程师的工作效率,保证了开发过程中的准确性与一致性,同时也促进了团队合作,使得软件开发更系统化、规范化和工业化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值