您的位置:首页 > 移动开发 > Android开发

geekband android #5 第十一周分享(Gradle、NDK、安卓依赖性)

2016-05-15 23:37 267 查看
(由于这次内容实在太多、太难,而且没怎么听懂。本次分享只能是整合老师的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.环境配置

AS Gradle setting使用本地Gradle

Shell Gradle Setting 与Terminal都需要配置

3.文件结构

setting.gradle (放置module)

':app' 表示一个module

‘:library:test SDK’ 也可表示一个module

build.gradle (属于整个project)

工程:公有库,私有库。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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: