工欲善其事,必先利其器。首先说一下AndroidStudio在Mac下的常用快捷键。
什么是Gradle?
Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的内部领域特定(DSL)语言。
Gradle中常见的语句的基本含义
- 1:声明是Android程序
- 2:编译SDK的版本
- 3: android构建工具的版本,在SDK Manager中安装选择版本,buildToolsVersion的版本需要>=CompileSdkVersion; 高版本的build-tools 可以构建低版本编译的android程序
- 4:defaultConfig 默认配置,可以修改版本号等信息
defaultConfig {
// 应用的包名
applicationId "com.gym.okhttpclient"
minSdkVersion 14
targetSdkVersion 21
versionCode 1
versionName "1.0.0"
}
- 5: BuildTypes
buildTypes {
release {
minifyEnabled false // 是否进行混淆
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' // 混淆文件的位置
}
}
- 6: Dependencies 编译libs目录下的所有jar依赖包
-
7: gradle-wrapper.properties
-
可以看到里面声明了gradle的目录与下载路径以及当前项目使用的gradle版本,这些默认的路径我们一般不会更改的,这个文件里指明的gradle版本不对也是很多导包不成功的原因之一。
-
-
8: 内容主要包含了两个方面:一个是声明仓库的源,这里可以看到是指明的jcenter(), 之前版本则是mavenCentral(), jcenter可以理解成是一个新的中央远程仓库,兼容maven中心仓库,而且性能更优。另一个是声明了android gradle plugin的版本,android studio 2.3.3正式版必须要求支持gradle plugin 2.3.3的版本。
-
9: settings.gradle
- 这个文件是全局的项目配置文件,里面主要声明一些需要加入gradle的module
include ':app', ':easyokhttp'
-
10:Gradle 命令详解
gradlew -v 版本号
gradlew clean 清除app目录下的build文件夹
gradlew build 检查依赖并编译打包
这里注意的是 ./gradlew build 命令把debug、release环境的包都打出来,如果正式发布只需要打Release的包,该怎么办呢,下面介绍一个很有用的命令 assemble<Build Type Name>, 如gradlew assembleDebug 编译并打Debug包
gradlew assembleRelease 编译并打Release的包
除此之外,assemble还可以和productFlavors结合使用,具体在下一篇多渠道打包进一步解释。gradlew installRelease Release模式打包并安装
gradlew uninstallRelease 卸载Release模式包