build.gradle文件的註釋

  Gradle是一種依賴管理工具,基於Froovy語言,面向Java應用爲主,它拋棄了基於xml的各類繁瑣配置,取而代之的是一種基於Groovy的內部領域特定(DSL)語言。java

apply plugin:'com.android.application'//說明module的類型,com.android.application爲程序,com.android.library爲庫
android{
    compileSdkVersion 22//編譯的SDK版本
    buildToolsVersion "22.0.1"//編譯的Tools版本
    defaultConfig{
        applicationId "com.nd.famlink"//應用程序的包名
        minSdkVersion 8//支持的目標版本
        targetSdkVersion 19//支持的目標版本
        versionCode 52//版本號
        versionName "3.0.1"//版本名
    }
    sourceSets{//目錄指向配置
        main{
            manifest.srcFile 'AndroidManifest.xml'//指定AndroidManifest文件
            java.srcDirs = ['src']//指定source目錄
            resources.srcDirs = ['src']//指定source目錄
            aidl.srcDirs = ['src']//指定source目錄
            renderscript.srcDirs = ['src']//指定source目錄
            res.srcDirs = ['res']//指定資源目錄
            assets.srcDirs = ['assets']//指定assets目錄
            jniLibs.srcDirs = ['libs']//指定lib庫目錄
        }
        debug.setRoot('build-types/debug')//指定debug模式的路徑
        release.setRoot('build-types/release')//指定release模式的路徑
    }
    signingConfigs{//簽名配置
        release{//發佈版簽名配置
            storeFile file("fk.keystore")//密鑰文件路徑
            storePassword "123"//密鑰文件密碼
            keyAlias "fk"//key別名
            keyPassword "123"//key密碼
        }
        debug{//發佈版簽名配置
            storeFile file("fk.keystore")//密鑰文件路徑
            storePassword "123"//密鑰文件密碼
            keyAlias "fk"//key別名
            keyPassword "123"//key密碼
        }
    }
    buildType{//build類型
        release{//發佈
            minifyEnabled true//混淆開啓
            proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-project.txt'//指定混淆規則文件
            signingConfig signingConfigs.release//設置簽名信息
        }
        release{//調試
            signingConfig signingConfigs.release//設置簽名信息
        }
    
    }
    packagingOptions{//設置打包後的apk裏的META-INF移除指定的文件
        exclude 'META-INF/ASL2.0'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/MANIFEST.MF'
    }
    lintOptions{//lint的相關配置
        abortOnError false//lint時候終止錯誤上報,防止編譯的時候莫名的失敗
    }
}

dependencies{
    compile fileTree(dir:'libs',exclude:['android-support*.jar'],include:['*.jar'])//編譯lib目錄下的.jar文件
    compile project(':Easylink')//編譯附加的項目
    compile project(':ImageLibrary')
    compile project(':ImageResLibrary')
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'//編譯來自Jcenter的第三方開源庫
}
相關文章
相關標籤/搜索