Gradle 详解
Gradle简单来说,就是工程的管理,帮我们做了依赖,打包,部署,发布等工作。就像一个管家管理我们的项目,我们只用关心写代码就可以了。
1 gradle-wraaper.properties
主工程的gradle-wraaper.properties文件 ,用于配置Gradle版本
distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
其中distributionUrl就是下载Gradle的路径,下载完成后存放路径:
导入项目时,注意本地常用的gradle和新项目的gradle是否一致。如果不一致,会去重新下载gradle文件,并重新构建,时间可长可短。
可把本地gradle-wraaper.properties文件替换至新项目,用本地常用gradle构建新项目,省去下载不同版本gradle。
2 主工程build.gradle(Project)
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
}
}
buildscript声明的是gradle脚本自身需要使用的资源。
repositories仓库,jcenter()、maven()和google()就是托管第三方插件的平台
dependencies配置的是gradle需要的插件版本
这一次彻底弄明白Gradle相关配置:https://mp.weixin.qq.com/s/1UHcYOudViMhpUYeREZzGA
一 . Gradle基础:https://segmentfault.com/a/1190000002439306
module下的gradle文件:
// 声明是Android程序 apply plugin: 'com.android.application' android { // 编译SDK的版本 compileSdkVersion 21 // build tools的版本 buildToolsVersion "21.1.1" defaultConfig { // 应用的包名 applicationId "me.storm.ninegag" minSdkVersion 14 targetSdkVersion 21 versionCode 1 versionName "1.0.0" } // java版本 compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } buildTypes { release { // 是否进行混淆 minifyEnabled false // 混淆文件的位置 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } } // 移除lint检查的error lintOptions { abortOnError false } } dependencies { // 编译libs目录下的所有jar包 compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:support-v4:21.0.2' compile 'com.etsy.android.grid:library:1.0.5' compile 'com.alexvasilkov:foldable-layout:1.0.1' // 编译extras目录下的ShimmerAndroid模块 compile project(':extras:ShimmerAndroid') }