首页 > 代码库 > Android Studio之Gradle
Android Studio之Gradle
自从13年Google I/O大会上推出了Android Studio,我就逐步将开发工作从Eclipse转向了Android Studio,也越来越嫌弃老态龙钟的Eclipse。相比较而言,Android Studio无论从运行速度上还是对于Android开发的支撑上都完爆Eclipse;前者极具科技感的UI更是牢牢抓住了我的心!:)
话不多说,先上张碉堡了的截图:
Android Studio默认采用Gradle编译项目;Gradle基于Groovy语言,Groovy是一种运行于JVM的动态语言,语法与Java类似,并且可以在Groovy项目中引用Java代码;这使得Java程序员可以很容易的定制Gradle编译逻辑。
我们先看看Gradle的文件结构:
整个Project(AndroidStudioSample)的settings.gradle:
1 include ‘:app‘, ‘:library‘
整个Project(AndroidStudioSample)的build.gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { mavenCentral() } dependencies { classpath ‘com.android.tools.build:gradle:0.10.+‘ // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { mavenCentral() } }
主moudle(app)的build.gradle
1 apply plugin: ‘android‘ 2 3 android { 4 compileSdkVersion 19 5 buildToolsVersion "19.1.0" 6 7 defaultConfig { 8 packageName "com.baron.android.app" 9 minSdkVersion 9 10 targetSdkVersion 19 11 versionCode 1 12 versionName "1.0" 13 } 14 buildTypes { 15 release { 16 runProguard false 17 proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘ 18 } 19 } 20 } 21 22 dependencies { 23 compile fileTree(dir: ‘libs‘, include: [‘*.jar‘]) 24 compile ‘com.android.support:appcompat-v7:19.1.0‘ 25 compile ‘com.android.support:support-v4:19.1.0‘ 26 compile ‘com.android.support:appcompat-v7:19.1.0‘ 27 compile ‘com.android.support:support-v4:19.1.0‘ 28 compile ‘com.android.support:appcompat-v7:19.+‘ 29 }
submodule(library)的build.gradle:
apply plugin: ‘android-library‘ android { compileSdkVersion 19 buildToolsVersion "19.1.0" defaultConfig { packageName "com.baron.android.library" minSdkVersion 8 targetSdkVersion 19 versionCode 1 versionName "1.0" } buildTypes { release { runProguard false proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘ } } } dependencies { compile fileTree(dir: ‘libs‘, include: [‘*.jar‘]) compile ‘com.android.support:appcompat-v7:19.+‘ compile ‘com.android.support:appcompat-v7:19.+‘ }
以上是一个project中基本的settings.gradle和build.gradle文件内。
settings.gradle文件中的include ‘:app‘, ‘:library‘指明了AndroidStudioSample这个Project包含了app和library两个module;
build.gradle主要分为四部分:apply plugin、buildscript、android和dependencies;
1、apply plugin指明了使用的插件,apply plugin:"android"表示这是一个android项目,apply plugin:"android-library"表明了这是一个Android Lib项目;
2、buildscript{...}这一块的内容定义了编译环境,比如依赖的gradle版本等;
3、android{...}这部分定义了项目参数,比如包名、版本号、SDK版本、buildTypes、signingConfigs、productFlavors等等;
4、dependencies{...}定义了依赖。
先说说dependencies,我们常见的依赖主要有三种:
1 dependencies { 2 compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])//本地jar包依赖 3 compile ‘com.android.support:appcompat-v7:19.1.0‘//从Maven仓库获取的依赖包,下同 4 compile ‘com.android.support:support-v4:19.1.0‘ 5 compile ‘com.android.support:appcompat-v7:19.1.0‘ 6 compile ‘com.android.support:support-v4:19.1.0‘ 7 compile ‘com.android.support:appcompat-v7:19.+‘ 8 compile project(‘:library‘)//对其他Lib项目的依赖,比如我们这个项目中的module library 9 }
好了,今天先写到这,后面再继续 :)