- Gradle 是一种构建工具。
那么什么又是构建工具呢?
Android Gradle 构建工具是一个运行时用于处理 module 下的 build.gradle 文件的,在这个文件传递到 Gradle 去做进一步操作之前进行的。
以NotePad 项目为例,来稍微介绍下一个完整的 Android 项目包含的基本 Gradle 相关的配置文件:
首先来看一下app目录下的NotePad/app/src/build.gradle文件中的内容:
compileSdkVersion 25,说明要运行该源码,你必选已经安装了android API 25。
buildToolsVersion 25.0.2 ,说明要运行该源码,你必须已经安装了 android sdk build-tools21.1.2。
- minSdkVerison 表示向下低至android API 19,即androd 5.0和5.0以上的版本都可以运行该工程。
apply plugin: 'com.android.application'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId 'online.xingge.notepad'
minSdkVersion 19
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.1.1'
testCompile 'junit:junit:4.12'
}
- 再来看一下NotePad/gradle中的内容,可以看到里面声明了 gradle 的目录与下载路径以及当前项目使用的 gradle 版本,这些默认的路径一般不用更改的,这个文件里指明的 gradle 版本不对也是很多导包不成功的原因之一。
#Mon Dec 28 10:00:20 PST 2015
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
- NotePad/settings.gradle
这个文件是全局的项目配置文件,里面主要声明一些需要加入 gradle 的 module。
那么如何正确导入下载的开源项目呢?
1. 先打开每个 module下的 gradle 文件,即 app 目录下的build.gradle 以及各个 library 下的 build.gradle。 2. 首先查看 compileSdkVersion 和buildToolsVersion,因为有些时候你本地的版本和下载的版本不一致,那么就会导致失败。 3. 然后就是检查 gradle-wrapper ,Google 有些时候要求不同的 Adroid Studio 支持不同的 gradle 版本。手动更新下android gradle plugin 的版本,然后重新同步下。
这样基本就可以导入运行啦,如果还有错误,那就是本身环境问题或其他原因,可以尝试卸载Android Studio重装,亲测有用。