Android build.gradle的基本配置参数详解

本篇为自己的对一个小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          //这样设置是即使报错也不会停止打包.

}

packagingOptions {        //暂未了解 读者清楚的话请留言.

exclude'META-INF/LICENSE'

exclude'META-INF/NOTICE'

}

defaultConfig {         //默认配置.

applicationId  "com.wang.rxjava2"  //这个是标识app进程的id,和AndroidManifest里面的包名各司其职,AndroidManifest里面的包名是指定R文件和                                                             引用资源.如果这里不设置的话默认就是AndroidManifest里面的包名.

minSdkVersion  15                         //默认支持的最小SDK的版本.

targetSdkVersion  25                    //目标SDK的版本,如果跟当前使用的SDK版本一致的话Android平台就不进行兼容性检测,提高效率.系统将为你的                                                        应用开启一些最新的功能和特性。假如targetSdkVersion 为23或者更高,那么在Android6.0中运行这个应用时                                                          会开启新的功能和特性;但是设置成了22的话,只能说明你的应用程序在Android5.1系统上做过了充分的测                                                              试,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                 //是否开启调试

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的文件都加载到项目的构建中去

compile project(':OneSDK')                                 //依赖本地的Module

androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {

excludegroup:'com.android.support',module:'support-annotations'

})                                                                            //检查本地是否已经缓存了远程的库,是的话就不缓存,不是的话就缓存

compile'com.android.support:appcompat-v7:25.3.1'

testCompile'junit:junit:4.12'                                       //单元测试

compile'io.reactivex.rxjava2:rxjava:2.1.1'                 //其他的依赖

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,100评论 25 708
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,941评论 2 45
  • Gradle配置最佳实践 本文会不定期更新,推荐watch下项目。如果喜欢请star,如果觉得有纰漏请提交issu...
    Solang阅读 1,778评论 0 4
  • 自从2008年10月1日高姐和凤姑娘来我家看我,就把帮助别人这颗爱的种子安在了我的心里。那时我就想,等我的孩子都上...
    二丫_2747阅读 437评论 1 0
  • 我承认,翻开这本书的原因,是被封面上的狐狸爸爸深深吸引了。他穿着白衬衫,牛仔裤,和小狐狸共骑一辆滑板车,眼睛成了两...
    60分的我阅读 2,366评论 0 1

友情链接更多精彩内容