本篇為自己的對一個小Demo的build.gradle配置的一些看法,望大神們檢查糾正!
applyplugin:'com.android.application'//安卓應用插件,如果我們的項目時作為module的話要引入 applyplugin:'com.android.liarbry'
android {
compileSdkVersion 25 ? ? ? ?//編譯SDK的版本.
buildToolsVersion "25.0.2" ? //build ?tools的版本,可以在我們的SDK的目錄下的build tools的目錄下查看.
lintOptions{ ? ? ? ? ? ? ? ? ? ? ? ?//項目在編譯的時候會檢測lint,有任何錯誤提示會停止build.
abortOnError = false ? ? ? ? ?//這樣設(shè)置是即使報錯也不會停止打包.
}
packagingOptions { ? ? ? ?//暫未了解 讀者清楚的話請留言.
exclude'META-INF/LICENSE'
exclude'META-INF/NOTICE'
}
defaultConfig { ? ? ? ? //默認配置.
applicationId ?"com.wang.rxjava2"? //這個是標識app進程的id,和AndroidManifest里面的包名各司其職,AndroidManifest里面的包名是指定R文件和 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 引用資源.如果這里不設(shè)置的話默認就是AndroidManifest里面的包名.
minSdkVersion ?15 ? ? ? ? ? ? ? ? ? ? ? ? //默認支持的最小SDK的版本.
targetSdkVersion? 25? ? ? ? ? ? ? ? ? ? //目標SDK的版本,如果跟當前使用的SDK版本一致的話Android平臺就不進行兼容性檢測,提高效率.系統(tǒng)將為你的 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?應用開啟一些最新的功能和特性。假如targetSdkVersion 為23或者更高善绎,那么在Android6.0中運行這個應用時 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?會開啟新的功能和特性嘉抒;但是設(shè)置成了22的話,只能說明你的應用程序在Android5.1系統(tǒng)上做過了充分的測 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?試,Android6.0的新功能就不會啟用了
versionCode ?1 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//APP版本更新了多少次默認為1 次,記得每次迭代的時候都要把該值改變.
versionName ? "1.0" ? ? ? ? ? ? ? ? ? ? ? ?//版本的名稱,將顯示在應用商場上面.
testInstrumentationRunner"android.support.test.runner.AndroidJUnitRunner"
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro' ?//混淆時使用的文件路徑
}
buildTypes {
release {//release版本配置
zipAlignEnabled ? true ? ? ? //是否支持壓縮文件
minifyEnabledf ? alse ? ? ? ? ? ?//是否進行混淆
shrinkResources ?true ? ? ? ? //是否移出無用的resurce資源
debuggablefalse ? ? ? ? ? ? ? ? //是否開啟調(diào)試
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
}
}
compileOptions{? ? ? ? ? //對Java版本的一些配置
sourceCompatibility org.gradle.api.JavaVersion.VERSION_1_8
targetCompatibility org.gradle.api.JavaVersion.VERSION_1_8
?}
}
dependencies { ? ?//依賴的資源庫
compile fileTree(include: ['*.jar'],dir:'libs') ? ? ? ? ? ?//本地文件的依賴 ,把項目中的libs文件夾下的所有.jar的文件都加載到項目的構(gòu)建中去
compile project(':OneSDK') ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //依賴本地的Module
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
excludegroup:'com.android.support',module:'support-annotations'
}) ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//檢查本地是否已經(jīng)緩存了遠程的庫,是的話就不緩存,不是的話就緩存
compile'com.android.support:appcompat-v7:25.3.1'
testCompile'junit:junit:4.12' ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //單元測試
compile'io.reactivex.rxjava2:rxjava:2.1.1' ? ? ? ? ? ? ? ? //其他的依賴
}