AndroidStudio之Gradle配置⽂件详解
AndroidStudio之Gradle
这篇⽂章主要是跟⼤家探讨Gradle在AndroidStudio的使⽤,也会详解讲解各配置⽂件的使⽤,如果你对Gradle的基础不是很了解,可以先阅读有助于对今天讨论这个主题的了解,了解原理使⽤Gradle才能随⼼所欲;
AndroidStudio中的Gradle
在AndroidStudio中的Gradle主要使⽤2个对象:
⼀个AS⼯程构建的整个过程是这样的:
1、构建开始时⾸先会创建⼀个Setting对象;
2、根据adle的内容来配置这个Setting对象;
3、通过这个Setting对象来加载Project,include多少个Moudle就会创建多少个Project;
4、根据adle内容配置Project对象;
Gradle和Android Gradle插件
Gradle是独⽴于AndroidStudio运⾏的,AndroidStudio只是依赖了Gradle的插件,两者不可以混淆。
- AndroidStudio配置Gradle
1、如果选择“use defalut gradle wrapper(recommended)”,AS会根据项⽬中gradle-wrapper.properties⽂件配置查
gradle,gradle-wrapper.properties配置如下:
当项⽬开始编译时会先从环境变量中配置的gradle版本⽬录下查wrapper/dists下对应的gradle,如果没有到则会根据distributionUrl
对应的url中下载。
2、当然也可以选择“use local gradle distribution”并加载本地gradle路径, 如果是选择本地gradle在开始编译时会直接使⽤本地的gradle。
android gradle插件在root⽬录下的adle,配置gradle插件版本:
Gradle和Android Gradle插件
:
AndroidStudio Gradle ⽂件配置解读⾸先我们来看下AndroidStudio项⽬结构
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\:///distributions/gradle-4.1-all.zip
buildscript {
dependencies {
classpath 'ls.build:gradle:3.0.1'
}
}
从上图中可以看出⼀个完整的AndroidStudio项⽬包含⼀个或者多个Moudle以及gradle的配置⽂件adle详解
/**
* buildscript⾥是gradle脚本执⾏所需依赖,分别是对应的maven库和插件
*/
buildscript {
/**
* 定义公共仓库
*/
repositories {
/**
* 公共仓库名称
*/
jcenter() //仓库名
mavenCentral() //仓库名
}
/**
android最新版* 定义依赖库
*/
dependencies {
/**
* Android Gradle 插件版本
*/
classpath 'ls.build:gradle:3.0.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual adle files
}
}
/**
* 项⽬本⾝需要的依赖、配置所有Moudle共⽤的依赖;
*/
allprojects {
repositories {
jcenter()
maven { url 'jitpack.io' }
}
}
/**
* 系统⾃动⽣成的task
*/
task clean(type: Delete) {
delete rootProject.buildDir
}
1、buildscript:⾥是gradle脚本执⾏所需依赖,分别是对应的maven库和插件;
2、repositories{}:定义公共仓库;
3、jcenter()、mavenCentral():公共仓库名称;
4、allprojects:项⽬本⾝需要的依赖、配置所有Moudle共⽤的依赖;
5、task clean:系统⾃动⽣成的task;
adle详解
/**
* 配置当前Module构建属性
*/
apply plugin: 'com.android.application'
//apply plugin: 'com.android.library'
/**
* android{} 当前Moudle下项⽬构建配置选项
*/
*/
android {
compileSdkVersion 26
buildToolsVersion 26.0.1
/**
* 配置项⽬编译版本号等属性,会覆盖l中的配置
*/
defaultConfig {
applicationId "com.ailin.mvp"
minSdkVersion 19
targetSdkVersion 26
versionCode 1000
versionName "1.0"
/**
* 设置⽀持的SO库架构
*/
ndk {
abiFilters 'armeabi', 'x86', 'armeabi-v7a'
}
}
/**
* 配置release版本所需要的签名⽂件等
*/
signingConfigs {
//配置变会员release版本
release {
storeFile file("./mvpapp.jks")
storePassword "abc123"
keyAlias "mvpapp"
keyPassword "abc123"
}
}
/
**
* 这⾥配置签名版本和调试版本,还可以⾃定义需要的版本
*/
buildTypes {
release {
/**
* 打开代码混淆功能
*/
minifyEnabled true
/**
* 指定signingConfigs中定义的签名配置
*/
lease
/**
* 指定混淆代码的混淆⽂件,混淆⽂件由两部分组成:
* :系统默认的android程序的混淆⽂件,这个⽂件的⽬录在 <sdk⽬录>/tools/ * proguard-rules.pro:项⽬中⾃定义混淆⽂件
*/
proguardFiles getDefaultProguardFile(''), 'proguard-rules.pro'
}
debug {
debuggable true
minifyEnabled false
signingConfig signingConfigs.debug
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论