/*** app文件夹下,这个Module的gradle配置文件*///声明是Android程序(如果这个模块是一个Library的话,应该引入的插件叫做'com.android.library')
apply plugin: 'com.android.application'android {/***  编译SDK的版本(SDK的版本号,也就是API level,eg:API-19 API20等等)**  SDK--SoftWare Development Kit 软件开发工具包**  API--Application Programming Interface 应用编程接口**  为了使用api函数,我们就需要跟api对应的.H和.LIB文件,而SDK正是提供了一整套开发应用程序所需要的相关文件、*  范例和工具的工具包,即SDK包含了使用API所需要的必须材料*/compileSdkVersion 24//buildTools的版本(构建工具的版本,其中包括了工具aapt、dx等。目录位置位于your_sdk_path/build-tools-xx.xx.xx)//可以用高版本的构建工具去构建低版本的sdk工程(打包用的,建议用比较新的版本)buildToolsVersion "24.0.2"defaultConfig {//应用的包名(如果你这个模块是Library,那么要把这行删掉)//如果你在Library模块中也配置了applicationId的话到时候会在手机屏幕上看到两个应用图标applicationId "com.magical.m.magicallxjr"//需要向下兼容的最低版本minSdkVersion 15//需要使用的SDK版本(如果需要但不必须使用新版本SDK的新功能,可以设置新版本的SDK版本如下,但是考虑到老设备的兼容,参考上一行)targetSdkVersion 24//程序代码的相对版本,即版本更新过多少次(不对外显示)versionCode 1//应用程序的版本信息,需要显示给用户versionName "1.0"//使用AndroidJUnitRunner进行单元测试testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"}/*** 可以打哪些类型的包*/buildTypes {/*** 正式发布的apk需要怎么打包(对应的还有debug)* 可以指定要用到的混淆文件在哪个目录下,签名文件(keystore)在哪个目录下,签名文件的密码之类的,如果你没配置的话就使用默认值*/release {//是否混淆(minify 缩小)minifyEnabled false/*** 混淆文件的位置* proguard-android.txt 默认的混淆文件(SDK目录/tools/proguard/)* proguard-rules.pro 让我们自行添加混淆规则文件(相应module的目录下)*/proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}buildTypes {debug {// 显示LogbuildConfigField "boolean", "LOG_DEBUG", "true"}release {// 不显示LogbuildConfigField "boolean", "LOG_DEBUG", "false"}}/*** 使用DataBinding框架的环境搭建*/dataBinding {enabled = true}
}/*** 我们依赖的jar包、第三方库、library工程*/
dependencies {//表明我们工程中要用到的jar包都可以放在app下的libs目录中,有了这一行配置,我们就可以放心的把jar包放在libs目录下,而不需要再做额外的配置了compile fileTree(dir: 'libs', includes: ['*.jar'])/*** 这一行就是表明到maven库中找v7支持包(兼容包)* com.android.support是这个支持包在maven库中的存放路径* appcompat-v7是这个包的名称* 4.2.1是这个包的版本** 有了这个配置,Gradle工具就会到我们在全局gradle文件中指定的maven库中下载相应的支持包了** 兼容包实际上是为了让android 2.2 /adnroid 2.3 /android 3.0 支持adnroid 4.0中才有的东西(eg:ActionBar)* 如果不用兼容包,开发包含ActionBar的程序就不可以在2.2上运行了** V7依赖V4*///appcompat-v7这个工程可以让开发者统一开发,在任何系统版本下保证兼容性。涉及的内容有Theme,value,布局,新的控件,// 新的动画实现方式,包含了support-v4的全部内容,开发Android工程时,要兼容低版本都要导入v7工程。android studio在创建工程的时候默认导入了v7工程,// 并且将style使用了兼容style,给开发者提供了极大的方便。并且最新的v7包增加了很多material design的兼容类和素材,请及时更新compile 'com.android.support:appcompat-v7:24.2.1'//android-support-v4 是谷歌推出的兼容包,最低兼容Android1.6的系统compile 'com.android.support:support-v4:24.2.1'/*** 测试是软件开发中非常重要的一部分,Android中是使用 junit 测试框架* Android测试主要分两类本地测试和Instrumented测试,本地测试其实就是普通的Java程序测试,* 它运行在本地的JVM。Instrumented测试则需要一台Android设备来运行测试*///声明instrument测试依赖(需要一台android设备来运行测试)//espresso 自动化测试框架 include:包含  exclude:不包含androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {exclude group: 'com.android.support', module: 'support-annotations'})//声明本地测试的依赖(普通的java程序测试)testCompile 'junit:junit:4.12'}

理解modle下的gradle相关推荐

  1. android多Modle统一配置Gradle

    android多Modle统一配置Gradle 目前as使用gradle来配置项目工程,一般的项目为了模块化或者结构的清晰. 都会或多或少的使用多library(model)的方式. so,问题来了. ...

  2. MindSpore技术理解(下)

    MindSpore技术理解(下) 4 GraphEngine 由于深度学习算法需要进行大量的计算,很多公司都设计了自己的深度学习专用处理器(如谷歌的张量处理器.阿里巴巴的含光等),华为也发布了自主设计 ...

  3. 基于TensorRT的BERT实时自然语言理解(下)

    基于TensorRT的BERT实时自然语言理解(下) BERT Inference with TensorRT 请参阅Python脚本bert_inference.py还有详细的Jupyter not ...

  4. mac环境下安装Gradle及配置

    前言 ​ 从Gradle官网的安装指导可以知道, (最新的gradle版本)要求jdk的版本是1.8, 或者更高. Prerequisites Gradle runs on all major ope ...

  5. 【Android Gradle 插件】Module 目录下 build.gradle 配置文件 ( android 闭包块配置 | AppExtension 扩展类型参考文档 )

    文章目录 一.Module 目录下 build.gradle 配置文件 1.android 闭包块配置 2.AppExtension 扩展类型参考文档 Android Plugin DSL Refer ...

  6. 【Android Gradle 插件】Module 目录下 build.gradle 配置文件 ( plugins 闭包代码块中引入插件 | PluginAware#apply 方法引入插件 )

    文章目录 一.Module 目录下 build.gradle 配置文件 1.plugins 闭包代码块中引入插件 2.PluginAware#apply 方法引入插件 Android Plugin D ...

  7. 【Android Gradle 插件】工程根目录下 build.gradle 配置文件 ( 远程仓库配置 | 依赖配置 | 所有子模块配置 | task clean 任务 )

    文章目录 一.工程根目录下 build.gradle 配置文件 1.基本作用 2.远程仓库配置 3.依赖配置 3.所有子模块配置 4.task clean 任务 Android Plugin DSL ...

  8. [Gradle] 在 Eclipse 下利用 gradle 构建系统

    构建系统时候常常要用到 Ant, Maven 等工具,对于初学者来说,它们还是过于复杂,上手还是需要时间的.本文将向读者介绍一种全新的构建项目的方式 gradle,它简单.上手快,能大大节省项目的时间 ...

  9. 理解Linux下的SELinux(MAC)

    理解Linux下的SELinux 长久以来,每当遇到授权问题或者新安装的主机,我的第一反应是通过setenforce 0命令禁用SELinux,来减少产生的权限问题,但是这并不是一个良好的习惯.这篇文 ...

  10. project下build.gradle文件和module下buil.gradle

    前言 自己写了几个gradle文件模板,如果还在使用Support包开发的可以参考. 定义一个全局统一配置文件config.gradle Project目录下的config.gradle /*** 全 ...

最新文章

  1. 如何实现立体的DataGrid和具有Windows效果的图片按钮
  2. 【Extjs】 checkboxmodel 中事件处理
  3. DBA_Oracle基本体系内存和进程结构(概念)
  4. Android性能调优篇之探索垃圾回收机制
  5. [洛谷P1268]树的重量
  6. Pytorch Merge操作
  7. 【STM32】程序下载(串口方式)
  8. LeetCode 51 N 皇后
  9. (1)PCIE接口应用领域(学无止境)
  10. 两大流量“黑洞”联姻了:让你在支付宝上刷微博,在微博上用支付宝买单
  11. K8s运行dashboard命令启动报错:no endpoints available for service \kubernetes-dashboard\
  12. java在原文件替换_Java:创建临时文件并替换为原始文件
  13. jira7.3.6添加导出excel的按钮
  14. 15 Android系统安全(简要)
  15. java 毫秒数一天_java用毫秒数做日期计算的一个踩坑记录
  16. 聊点高考往事和驾照科目二考试(r12笔记第86天)
  17. rancher应用商店的使用
  18. NAS中的文件共享协议
  19. 能不能推荐几个专门与外国人交友的app?这3款软件很有趣!
  20. JAXWS CXF GlobalWeather + MyEclipse + Maven + Dom4j Byron自學視頻05

热门文章

  1. 大数据运维架构师培训(5):大数据管理平台(Cloudera CM/CDH/CDP)
  2. 安卓工具类集合—— 1 时间、时间戳转换工具
  3. php session fixation,Session Fixation 攻防实战
  4. 【慕课网】JavaScript中函数和this
  5. 相似度系列-5:语义方法:BERTSCORE: EVALUATING TEXT GENERATION WITH BERT
  6. python爬取行业数据_Python爬取拉钩招聘网,让你清楚了解Python行业
  7. java基础知识选择题及答案,java面试题库及答案
  8. vue文件下载及重命名
  9. 安卓利用Xposed实现通话双向录音
  10. 【模糊回归预测】基于matlab萤火虫算法优化模糊神经网络回归预测【含Matlab源码 2034期】