标签:
本周的主要内容介绍Gradle,NDK,管理依赖和Git等
一、Gradle
Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XML的各种繁琐配置。
面向Java应用为主。当前其支持的语言限于Java、Groovy和Scala,计划未来将支持更多的语言。
Coding只是软件开发中的一个部分
编译源代码
运行单元测试和集成测试
执行静态代码分析,生成分析报告
创建分布版本
部署到目标环境
部署传递过程
执行冒烟测试和自动功能测试
Gradle是一个插件,是AS自动安装的。
1.点击AS右侧边栏,打开 Gradle, 显示Gradle Project
2.结构及文件
2.1 settings.gradle 里 是 include ‘:app’ 中间的app就是 指 app文件夹。
include ‘:app‘
引用 示例1,:app
示例2, 新建一个Module叫mylibrary , 会更改为:mylibrary
示例3, 建一个文件夹library,再在里面建Module, 更改为 :library:testSDK
2.2 build.gradle(Project: Demo) ,是属于整个工程的。
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
// 仓库
repositories {
// 设置中央仓库,拉第三方库
jcenter()
// 可以定义自己的私有仓库,如公司内部库
}
// 依赖
dependencies {
classpath ‘com.android.tools.build:gradle:2.0.0‘
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
2.3 build.gradle(Module: app), 是属于 一个Module
apply plugin: ‘com.android.application‘
// 应用的插件, 是一个apk
//针对于android的一些配置
android {
// 根据sdk那个版本编译的
compileSdkVersion 23
// 编译工具的版本号
buildToolsVersion "23.0.3"
defaultConfig {
// 打出来的包名
applicationId "com.exa.demo"
// 支持的最小版本,低于这个版本,手机装不上
minSdkVersion 15
// 目标版本
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {// 生成不同的apk, realse,debug等
release {
minifyEnabled false
proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
}
// 打不同的渠道,如360,应用宝
// 第三方登录,必须用签名的包,才能使用。
}
}
// 依赖,可视化添加。 可依赖第三方库,本地Module。
dependencies {
// 引用 文件树 libs文件夹 ,的jar文件
compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
testCompile ‘junit:junit:4.12‘
compile ‘com.android.support:appcompat-v7:23.2.1‘
}
dependencies依赖的可视化操作
Gradle命令
gradle --help
gradle --version 版本
gradle build 编译
gradle clean 清理
gradle tasks
gradle tasks --all
gradle以任务来分配,以任务来组织进程
合并规则
多个文件夹中的所有的源代码(src/*/java)都会合并起来生成一个输出
所有的Manifest文件都会合并成一个Manifest文件
Offline, 使用离线模式,使用本地的jar
二、NDK
NDK –Native Development Kit 原生开发工具包
为何要用到NDK?
便于移植,用C/C++写的库可以方便在其他的嵌入式平台上再次使用。
是Android平台支持C/C++开发
a.一种是使用已经编译好的 .so动态库
b. 一种是使用C/C++源代码开发
android.developer的网站有NDK官网
1.下载NDK,配置
2.Gradle配置
3.方法调用
4.生成so文件
JNI java原生接口
三、管理依赖
不可避免的Android工程依赖问题
如何使用library 和libs
? jar
? library
? library中的jar
Android Studio 依赖中的三种使用方法
1.项目依赖,工程 m指 maven,直接在maven库里依赖
2. 文件依赖, jar, aar
3. 项目依赖, 依赖本地自己开发的项目
添加依赖的两种方法,代码或可视化界面操作
1.代码,build.gradle(Module: app)中
dependencies {
compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
testCompile ‘junit:junit:4.12‘
compile ‘com.android.support:appcompat-v7:23.2.1‘ //添加到后面
}
2.可视化, Project Structure
依赖 jar
1.一种 compile fileTree()
2、选中 上图中的第二个 File dependency。 选择jar文件即可。
方便的 aar引用
aar是什么
和jar的区别
如何生成aar
本地引用aar
maven库
引用aar
1.粘贴到libs文件夹下, 打开 工程的 gradle
2.build.gradle(Project:demo) 内
buildscript {
// 仓库
repositories {
// 设置中央仓库,拉第三方库
jcenter()
// 可以定义自己的私有仓库,如公司内部库
flatDir{
dirs ‘libs‘
}
}
3、 build.gradle(Module:app) 内
// 依赖,可视化添加。 可依赖第三方库,本地Module。
dependencies {
// 引用 文件树 libs文件夹 ,的jar文件
compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])
testCompile ‘junit:junit:4.12‘
compile ‘com.android.support:appcompat-v7:23.2.1‘
compile(name:‘aar的名字‘,ext:‘aar‘)
}
2、可视化导入 new module 选择 imort JAR/AAR Package
四、Git
Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
1.直接记录快照
每个Commit(提交)是一个快照,而非差异比较
变更文件直接copy,未变更文件指向上一个版本
需切换到某个commit时,直接load
空间换时间(而非保存差异,做merge)
2、几乎所有操作本地执行
目前GIT已经可以在windows下使用,主要方法有二:msysgit和Cygwin。Cygwin和Linux使用方法类似,Windows版本的GIT提供了友好的GUI(图形界面),安装后很快可以上手。
? 创建一个版本库:git init
这样,一个空的版本库就创建好了,并在当前目录中创建一个叫 .git 的子目录。
? 增加内容跟踪信息:git add
? 提交内容到版本库:git commit
? 管理分支:git branch
标签:
原文地址:http://blog.csdn.net/qq_30154277/article/details/52019994