Android studio用到gradle下面简单介绍下:
Gradle是一种依赖管理工具,基于Groovy语言,面向Java应用为主,它抛弃了基于XML的各种繁琐配置,取而代之的是一种基于Groovy的领域特定(DSL)语言。Android Studio中新建项目成功后自动下载Gradle。
Gradle有几个基本组件:
1.整个项目的gradle配置文件build.gradle
// 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.1.0-alpha4'
// 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.app文件夹下这个Module的gradle配置文件,也可以算是整个项目最主要的gradle配置文件
apply plugin: 'com.android.application'
android {
signingConfigs {
ast {
keyAlias 'AST.jks'
keyPassword 'AST.jks'
storeFile file('E:/YD_AST/AST.jks')
storePassword 'AST.jks'
}
}
compileSdkVersion 23
buildToolsVersion "23.0.2"
defaultConfig {
applicationId "yundi.com.pos"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName '1.0.1'
signingConfig signingConfigs.ast
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.ast
}
debug {
signingConfig signingConfigs.ast
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
productFlavors {
}
}
android {
useLibrary 'org.apache.http.legacy'
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.+'
compile 'com.android.support:design:23.+'
compile 'cn.finalteam:okhttpfinal:2.0.2'
// 网络
compile 'com.bigkoo:svprogresshud:1.0.2'
// 加载框
// 提示框
compile 'me.drakeet.materialdialog:library:1.2.8'
compile files('libs/baidumapapi_v3_5_0.jar')
compile files('libs/locSDK_5.2.jar')
// 图片加载
compile 'com.facebook.fresco:fresco:0.8.1+'
compile 'com.jcodecraeer:xrecyclerview:1.2.6'
// 刷新
compile files('libs/gson-2.2.4.jar')
compile 'com.jakewharton:butterknife:7.0.1'
compile files('libs/alipaySDK-20150610.jar')
compile files('libs/libammsdk.jar')
compile 'com.orhanobut:dialogplus:1.11@aar'
}
文件开头apply plugin是最新gradle版本的写法,以前的写法是apply plugin: ‘android’, 如果还是以前的写法,请改正过来。
buildToolsVersion这个需要你本地安装该版本才行,很多人导入新的第三方库,失败的原因之一是build version的版本不对,这个可以手动更改成你本地已有的版本或者打开 SDK Manager 去下载对应版本。
applicationId代表应用的包名,也是最新的写法,这里就不在多说了。
android 5.0开始默认安装jdk1.7才能编译
minifyEnabled(混淆)也是最新的语法,很早之前是runProguard,这个也需要更新下。
proguardFiles这部分有两段,前一部分代表系统默认的android程序的混淆文件,该文件已经包含了基本的混淆声明,免去了我们很多事,这个文件的目录在 /tools/proguard/proguard-android.txt , 后一部分是我们项目里的自定义的混淆文件,目录就在 app/proguard-rules.txt , 如果你用Studio 1.0创建的新项目默认生成的文件名是 proguard-rules.pro , 这个名字没关系,在这个文件里你可以声明一些第三方依赖的一些混淆规则,后面会具体讲到。
compile project(‘:extras:ShimmerAndroid’)这一行是因为项目中存在其他Module,你可以理解成Android Library,由于Gradle的普及以及远程仓库的完善,这种依赖渐渐的会变得非常不常见,但是你需要知道有这种依赖的。
基本要操作的就是这两个文件了。下面是混淆文件proguard-rules.pro
具体混淆信息请点击http://blog.csdn.net/u010090644/article/details/51132672