此圖爲在studio上新建項目後項目的組成結構。
本項目的組成部分包含app文件夾下moudle的build.gradle,project下的build.gradle和settings.gradle 和.gradle文件。
1. MyActivity下app的build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
defaultConfig {
applicationId "com.example.zaoren.myactivity"
minSdkVersion 11
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'])
compile 'com.android.support:appcompat-v7:23.0.0'
}
- apply:plugin–聲明是Android程序
- compileVersion–編譯sdk的版本
- buildToolsVersion–build Tool版本,需要本地安裝改版本
- default Configuration –報名,最低版本,目標版本
- buildTypes–minifyEnabled–是否允許混淆;proguard file–混淆文件的位置,proguardFiles這部分有兩段,前一部分代表系統默認的android程序的混淆文件,該文件已經包含了基本的混淆聲明,免去了我們很多事,這個文件的目錄在件的目錄在 sdk目錄>/tools/proguard/proguard-android.txt , 後一部分是我們項目裏的自定義的混淆文件,目錄就在 app/proguard-rules.txt , 如果你用Studio 1.0創建的新項目默認生成的文件名是 proguard-rules.pro
- dependencies–編譯lib目錄下的所有jar包
- 上圖中未出現的,,Android 5.0 需要安裝jdk 1.7
// java版本
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
每一個Module都需要有一個gradle配置文件,語法都是一樣,唯一不同的是開頭聲明的是 apply plugin: ‘com.android.library’–也就是庫文件
apply plugin: 'com.android.library'
#Wed Apr 10 15:27:10 PDT 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip
以上代碼爲wrapper文件夾下的gradle-wrapper.properties文件的內容:裏面聲明瞭gradle的目錄與下載路徑以及當前項目使用的gradle版本,一般不改變默認路徑,此文件指明的gradle版本不對也是很多導入包不成功的原因之一。
2. MyActivity下的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:1.0.1'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
內容主要包括兩方面:
- 聲明源倉庫,可以看到jcenter(),可以理解成一個新的中央遠程倉庫,兼容maven中心倉庫,性能更優。
- 聲明Android gradle plugin的版本,Android studio 1.0正式版必須要求支持gradle plugin 1.0的版本。
3. MyActivity下的settings.gradles
include ':app'
此文件爲全局的配置文件,裏面主要聲明一些需要加入gradle的module