官方guide翻译
Groovy基础
gradle是基于groovy实现的,这个语言功能非常强大,与scala有一拼,看wordpress-android中的build.gradle脚本,顿时觉得自己看完官方教程学到的东西弱爆了。把我们当前的android项目迁移到android studio之后,最大的问题在于ant编译脚本的不支持问题,那么多渠道号的设置,还有很多非常奇怪的需求,比如不同渠道的包名不一致等等。对groovy和gradle,我的精力主要集中在了gradle的教程,简单看了一下,大致知道里面大量使用各种闭包,简洁易用。
- http://www.gradle.org/documentation,gradle的教程
- http://groovy.codehaus.org/Beginners+Tutorial,入门教程
- http://groovy.codehaus.org/User+Guide,官方完整guide
- http://blog.csdn.net/kmyhy/article/details/4200563:一个快速入门教程
- http://jamie-wang.iteye.com/blog/1910959:比较细的教程,应该是翻译自官方guide
Gradle批量打包脚本
- http://my.oschina.net/uboluo/blog/157483,这个例子是被umeng官方打包工具推荐的脚本,里面还讲了jekins集成,值得学习
- http://a117702.blog.163.com/blog/static/32787106201402753735399/,这个哥们写的博客也非常值得参考,里面讲到很多东西,跟上面的脚本融合了一下,才形成了我们自己的打包脚本
- http://blog.sina.com.cn/s/blog_77cb34170101sazc.html,这里的脚本只有一部分,不过解决我一些关于重命名包的疑惑
其他问题总结
设置apk签名时从console中读取keyAlias以及密码,使用"system.console().readLine"方法,总是出现问题"Cannot invoke method readLine() on null object",解决方法是去除优化gradle设置的./gradle/gradle.properties中的damon为true。http://forums.gradle.org/gradle/topics/standard_in_when_using_the_daemon。另一种解决方法:https://www.timroes.de/2013/09/22/handling-signing-configs-with-gradle/。这里面有个问题,使用命令行的时候没有问题,但是当使用android studio的时候,还是报这个问题,可能是android studio默认设置gradle为deamon方式,解决方法是,"if(system.console() != null)...",这之后再从命令行读取密码以及别名