:简介
gradle基于groovy语言,跟maven相似,是一种依赖管理工具。
androidstudio项目中的gradle
- 每个moudle下会有一个build.gradle文件,算是项目中最主要的gradle文件
//表明是android应用而不是java程序
apply plugin: 'com.android.application'
//声明sdk的版本
android {
compileSdkVersion 23
buildToolsVersion "23.0.2"
//基本的一些信息比如说包名,向下兼容的最低sdk版本,目标sdk版本
defaultConfig {
applicationId "com.example.test2"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
//是否进行混淆
minifyEnabled false
//混淆文件的位置
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
//依赖的的包
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
// compile 'com.mcxiaoke.volley:library:1.0.+'
}
每一个moudle都有一个gradle文件,语法内容基本相同,有时候开头可能会有区别。比如apply plugin: ‘com.android.library’
- 如下图
主要是properties那个文件
#Wed Oct 21 11:34:03 PDT 2015
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip
可以看到里面声明了gradle的目录与下载路径以及当前项目使用的gradle版本,这些默认的路径我们一般不会更改的,这个文件里指明的gradle版本不对也是很多导包不成功的原因之一。
- 项目根目录下还有一个build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
// 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
}
主要是声明库的来源,jcenter()
- 根目录下还有一个setting.gradle
这个文件是全局的项目配置文件,里面主要声明一些需要加入gradle的module。
mac下使用命令安装gradle
brew install gradle
命令行使用gradle进行编译
如果第三方项目是使用gradle进行管理的。下载后进入根目录,执行
./gradlew -v 来查看下项目所用的Gradle版本,如果本地没有的话,会去下载相应版本的gradle。成功后会有如下提示
接着执行 ./gradlew clean
会去下载gradle的一些依赖成功后如图
注意:有可能会遇到以下错误:
解决方式:在项目根目录下建立一个local.properties文件,然后编辑文件加入:sdk.dir=${sdk目录}即可- 最后执行./gradlew build看到以下信息即表示成功
- 然后到app/build/outputs/apk目录下即可看到编译成功的apk