gradle
簡介:
Android Studio中,gradle是一種基於Apache和Apache Maven概念的項目自動化構建工具,是Android Studio默認的build工具,是一個依賴管理、自動化編譯測試部署打包工具。它使用一種基於Groovy的特定領域語言來聲明項目的設置,而不是傳統的xml。
依賴管理簡單的說就是你只要寫一行代碼,它就可以幫你把jar、aar包下載下來並能被當前工程使用(這個有點類似於iOS中的CocoaPods)。
自動化構建就是gradle可以通過一些命令去執行一些特有的任務,例如編譯、測試、打包等等。
作用:
通過Android Studio創建的Android項目,都會生成三個gradle文件,分別為build.gradle(在app文件夾下),build.gradle(在工程目錄下),settings.gradle(在工程目錄下)。
build.gradle(app文件夾):這個gradle可以設置compileSDKVersion、buildToolsVersion、minSDKVersion、targetSDKVersion、versionCode,以及添加jar包依賴,代碼如下:
apply plugin: 'com.android.application'android {
compileSdkVersion 19buildToolsVersion "21.0.0"defaultConfig {
applicationId"com.***.myapplication"minSdkVersion 19targetSdkVersion 19versionCode1versionName"1.0"}
buildTypes {
release {
minifyEnabledfalseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}
}
productFlavors {
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile files('libs/mpandroidchartlibrary-2-2-4.jar')
compile files('libs/butterknife-7.0.1.jar')
}
build.gradle(項目文件夾下):可以配置gradle腳本自身需要使用的資源,可以聲明資源包括依賴項、第三方插件、maven倉庫地址等。代碼如下:
// 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'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files}
}
repositories {
mavenCentral()
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir}
settings.gradle:當項目只有一個module的時候,僅僅只有一句話,如果你項目中有多個module存在的時候,就可以選擇包含哪些進行編譯。代碼如下:
include ':app'
AndroidManifest.xml
簡介:
這個文件是每個Android程序中必須的文件。它位於整個項目的根目錄,描述了package中的組件,各自實現的類,能被處理的數據和啟動位置。除了能聲明程序中的Activity、ContentProviders、Service、Intent Receive同時還能指定permissions和instrumentation(安全控制和測試)。同時還是可以設置程序圖標、程序名稱等。
參考鏈接:
http://www.2cto.com/kf/201501/366464.html
http://www.cnblogs.com/pilang/archive/2011/04/20/2022932.html