(由于这次内容实在太多、太难,而且没怎么听懂。本次分享只能是整合老师的PPT和口述内容。)
1.什么是Gradle?为什么要使用它?
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。面向Java应用为主。当前其支持的语言限于Java、Groovy和Scala,计划未来将支持更多的语言。
Coding并不是软件开发的全部,我们还需要其他部分来完成整个软件开发,其中就包括了:
编译源代码
运行单元测试和集成测试
执行静态代码分析、生产分析报告
创建发布版本
部署到目标环境
部署传递过程
执行冒烟测试和自动功能测试
而Gradle可以帮助我们达到:
gradle对多工程的构建支持很出色,工程依赖是gradle的第一公民。
gradle支持局部构建。
支持多方式依赖管理:包括从maven远程仓库、nexus私服、ivy仓库以及本地文件系统的jars或者dirs
gradle是第一个构建集成工具(the first build integration tool),与ant、maven、ivy有良好的相容相关性。
轻松迁移:gradle适用于任何结构的工程(Gradle can adapt to any structure you have.)。你可以在同一个开发平台平行构建原工程和gradle工程。通常要求写相关测试,以保证开发的插件的相似性,这种迁移可以减少破坏性,尽可能的可靠。这也是重构的最佳实践。
gradle的整体设计是以作为一种语言为导向的,而非成为一个严格死板的框架。
免费开源
plugins-Gradle 作为插件装在android studio 可以分为task有:
android , build , help, install , other , verification .
2.环境配置
3.文件结构AS Gradle setting使用本地Gradle
Shell Gradle Setting 与Terminal都需要配置
setting.gradle (放置module)
build.gradle (属于整个project)':app' 表示一个module
‘:library:test SDK’ 也可表示一个module
工程:公有库,私有库。such as:jcenter maven
project
module:应用插件,release包,debug包,渠道包(dependencies:可以指定一些jar包或者路径)。
Gradle命令:grade --help,grade --version,grade build,grade clean,gradle tasks,gradle tasks --all.
Task:assemble,check,build,clean.
Other
4.NDK:
JDK:Java Development Kit
SDK:Software Development Kit
NDK:Native Development Kit
JNI:Java Native Interface
NDK干嘛的? 是Android平台支持C/C++开发的一种工具包。
NDK优劣:
优点
缺点代码的保护更好
可以方便地使用现存的开源库
提高程序的执行效率
便于移植
开发麻烦
调试不方便
难度相对较高
如何使用NDK:
使用已经编译好的.so动态库
使用C/C++源代码开发:下载NDK配置,Gradle配置,方法调用,生产SO文件。
5.管理Android依赖性:
实在太复杂,也没听懂。建议参考http://www.open-open.com/lib/view/open1452003858964.html