Android----Gradle

Error:Execution failed for task ':app:preDebugAndroidTestBuild'.
> Conflict with dependency 'com.android.support:support-annotations' in project ':app'. Resolved versions for app (26.1.0) and test app (27.1.1) differ. See https://d.android.com/r/tools/test-apk-dependency-conflicts.html for details.

 rebuild一下

每个module都会对应着一个gradle,并且会有一个主project的gradle文件管理全局。

gradle-warpper.properties文件:warpper包装的意思,properties财产,所有权的意思。

gradle-wrapper:目的在于团队开发过程中统一gradle版本号

这个文件存在的意义在于:它可以启动gradle内置的Wrapper task帮助我们自动生成wrapper所需的目录结构

它自动生成的文件是:

文件中参数介绍:

实战使用:当导入别人的项目的时候,把自己常用项目的Gradle-wrapper.properties文件替换掉别人的。

setting.gradle:工程树,项目有多少个moudle,都会在这里显示。还有我们导入的第三方依赖

groovy语法:咯

project 的 build.gradle文件:主要四个标签

buildscript:是用来声明gradle脚本自身需要的资源 { 依赖项dependencies,      第三方插件和maven仓库地址 repositories{ jcenter(),maven(),google()托管第三方插件的平台} }

ext:用于自定义属性,咯

allproject:repositories{}这个用于多项目构建,为你所有的module提供第三方库,为所有的项目提供共同的依赖包,在子项目可以配置自己的单独的依赖包,和buildscript有区别,互相没有关系

task clean:运行gradle clean命令时,执行此处的task,与Androidstudio的clean命令一样,删除build文件

module的build.gradle文件:

appley plugin提供插件

apply  plugin 二进制插件

apply  from   应用脚本插件

android{}这个是Android插件提供的一个拓展,让我们自定义AndroidGradle工程

  compliesdkversion 编译所依赖的AndroidSDK 版本

  buildTOOLversion 构建该Android工程所用的构建工具版本

  defaultconfig{}默认设置,这是一个ProdultFlavor,它允许我们根据不同的情况生成不同的app

    ndk{}多平台编译,生成so包的时候使用,包括四个平台armeabi,armeabi-v7a ,x86,mips。使用第三方库提供的sdk的时候,可能会附带so库

    sourcesets,源代码合集是java插件用来管理代码和描述资源的概念,比如告诉gradle关于jin的so包放在了app/libs路径上,让它编译的时候自己去找。

dependencies{}:

  complie fileTree(include:[".jar"],dir:"libs")* :把本地libs文件夹下的jar包全部导入。

  complie project()引入本地的一个moudle

  complie group:name:version 引入网上仓库的依赖

猜你喜欢

转载自www.cnblogs.com/BlueFire-py/p/9058208.html