Gradle系列一

  • 1.软件开发讲究代码复用,通过复用可以使工程更易维护,代码量更少,开发者可以通过继承,组合,函数模块等实现不同程度上的代码复用.

  • 2.软件开发也是一种工程作业,还涉及到工程的各种管理(依赖,打包,部署,发布,各种渠道的差异管理,也可以像代码一样被描述出来, 也可以被复用。

  • 3.一般公司都会针对不同的市场单独发包用来统计不同渠道的下载量等情况,可能需要针对不同(品牌,尺寸等各种硬件信息)的手机做一些特殊的处理,这个时候你可以针对不同的情况单独建一个工程,或者更好一点你可以通过一些变量来控制,像这样:

if(isMoto){do something}
else if(isHuawei){do something}
  • 4.差异管理:但这种方式的差异是运行时的,不是静态的,对于moto手机上的处理逻辑对华为手机来说一点作用也没有,但这一段针对moto手机的处理逻辑也被装到了华为手机上了,通过Gradle可以实现一个命令打出所有的渠道包,一个命令打出指定的渠道包.再复杂一点,你可能需要不同的渠道对应不同的签名文件,不同的icon,不同的服务器地址…这些都可以通过Gradle来方便的实现。
    具体解决方案参考:http://ghui.me/post/2015/03/create-several-variants/

  • 5.依赖管理:依赖各种不同的jar,library.你当然可以通过将.jar/library工程下载到本地再copy到你的工程中,但不知你是否听说过国外有个叫中央仓库的东西,在这个仓库里你可以找到所有你能想到以及你从来没听说过的jar。
    网站:http://search.maven.org/
    而你需要的只是指定一个坐标,如下:在build gradle (Module app)中 模块app.

dependencies {
Compile fileTree(dir: ‘libs’, include: [‘*.jar’])
testCompile ‘junite:junit:4.12’
Compile ‘com.squareup.picasso.picasso:2.3.3’
}

剩下的依赖的寻找,下载,添加到classpath等你都不需要去关心,通过这种方式来维护依赖的好处在于依赖不会进入到你的版本控制仓库中(默认会缓存到~/.gradle/下),方便卸载装载依赖(只是一条坐标依赖,不需要删除即可);方便的版本管理,如上图中的2.3.3既是picasso的版本号,若改为+就表示从中央仓库中下载最新的版本,不同工程的相同依赖不会存在重复副本(只在~/.gradle下存在一份)。

  • 6.项目部署:一些插件,可以实现自动将你的输出(.jar,.apk,.war…)上传到指定仓库,自动部署。

  • 7.Gradle是一种构建工具,它可以帮你管理项目中的差异,依赖,编译,打包,部署……,你可以定义满足自己需要的构建逻辑,写入到build.gradle中供日后复用;它不是一种编程语言,它不能帮你实现软件中的任何实际功能。它通过编写一个名为build.gradle的脚本文件对项目进行设置,再根据这个脚本对项目进行构建。

  • 8.Gradle的构建分两个阶段,第一阶段是设置阶段(configuration phase),分析构建脚本,处理依赖关系和执行顺序等,脚本本身也需要依赖来完成自身的分析。第二阶段是执行阶段(execution phase),此阶段真正构建项目并执行项目下的各个任务。

  • 9.Ant是自己买菜洗菜烧水做饭,Maven是去饭店点餐,Gradle是3D打印食物。

  • 10.你的项目需要哪些第三方库,它帮你把它们都下载下来,并且编译好放到指定的位置,你就直接可以import后用了。

  • 11.gradle是打包用的,程序写完了毕竟是要发布到服务器上或者给别人用的,你第一不可能让所有要运行的人都装个eclipse,第二不可能把源代码公布给所有人。所以你需要把你的代码发布成二进制形式,让其它环境方便运行,这就是打包。

  • 12.Ant打包:打包的时候要做很多事,比如说配置文件中的用户名和密码,你本地开发和程序实际运行时的内容肯定不一致,所以需要有两个文件,开发的时候用一个,实际运行的时候用一个。这样每次打包的时候都要重复的做这些事,ant可以让你用xml的形式把这些事情写成脚本,然后自动运行。简言之自动化打包逻辑。

  • 13.Maven:你只要配置一下说我要用spring 3,所有jar包都给你下载好了,你直接运行就行了。赶明儿想升级版本,直接把3改成4,新的jar包也给你下载好了。简言之帮你下载jar包。

  • 14.gradle就是又能自动下jar包,又能自己写脚本,并且脚本写起来还比ant好用的这么个东西。
    参考文档:https://www.zhihu.com/question/30432152

  • 15.Gradle 的版本和gradle插件的版本查看方法:
    https://www.zhihu.com/question/24648316

  • 16.更改gradle版本
    http://jingyan.baidu.com/article/3c343ff7f84e950d36796357.html
    https://services.gradle.org/distributions

  • 17.下载的官网
    https://docs.gradle.org/current/userguide/userguide.html

【看来还是会有提示要求的,也就是插件版本和gradle 版本一并升级,以满足Android studio升级后的要去】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值