首页 > 系统 > Android > 正文

Android build.gradle文件详解

2019-11-06 09:38:43
字体:
来源:转载
供稿:网友

Android build.gradle详解

什么是gradle? gradle是一个项目构建工具,java开发中有两个大名鼎鼎的项目构建Maven,Ant,其中maven简单易控深受开发者喜爱。 项目构建工具是什么?能干吗? 开发某些项目时,需要很多jar或者库的支持,还没开始开发就下载了n多个库,浪费了时间不说,这些库之间兼容性又无法保证。删了?白下载了。不删?又不兼容。此时就需要使用项目构建工具,简单的说就是一个可以根据简单的配置文件自动去下载相应包/库的软件。自动的还很简单,不用岂不亏了。多个项目构建工具各有特点,但是核心思想一样。 gradle的特色? 首先,goole推荐使用的Android开发工具中自带了Gradle可见其一定有过人之处。不同于Maven基于xml文件来完成配置,Gradle使用特定的语言(DSL)来声明配置,难度还行,但是简单方便。


下面是开发中的两个build.gradle文件

build.gradle(PRoject MyFirst)

buildscript { repositories { jcenter() //是一个类似于github的代码托管仓库,声明了此配置, //可以轻松引用 jcenter上的开源项目 } dependencies { classpath 'com.android.tools.build:gradle:2.2.2' //gradle是一个强大的项目构建工具,不仅可以构建Android,还可以构建java,C++等 //此处引用android的插件 }}allprojects { repositories { jcenter() }}task clean(type: Delete) { delete rootProject.buildDir}

build.gradle(Module:app)

// 声明是Android程序,//com.android.application 表示这是一个应用程序模块//com.android.library 标识这是一个库模块//而这区别:前者可以直接运行,后着是依附别的应用程序运行apply plugin: 'com.android.application'android { // 编译SDK的版本 compileSdkVersion 21 // build tools的版本 buildToolsVersion "21.1.1" defaultConfig { // 应用的包名 applicationId "me.storm.ninegag" //Android支持的最低版本 minSdkVersion 14 targetSdkVersion 21 versionCode 1 versionName "1.0.0" } // java版本 compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } //指定生成安装文件的相关配置 buildTypes { release { // 是否进行混淆 minifyEnabled false // 混淆文件的位置 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' //proguard-android.txt 在Android SDK目录下,里面是所有项目的混淆规则 //proguard-rules.pro 是当前项目的根目录下的,里面可以编写特有的混淆规则 } debug{ //测试版安装文件的配置(可以忽略) } } // 移除lint检查的error lintOptions { abortOnError false }}//依赖关系//本地依赖:可以对本地Jar包或目录添加依赖关系//库依赖:可以对项目中的库模块添加依赖关系//远程以来:可以对 jcenter库上的开源项目添加依赖//dependencies { // 编译libs目录下的所有jar包 compile fileTree(dir: 'libs', include: ['*.jar']) //依赖声明,标识将libs目录下多有.jar后缀的文件都添加到项目的构建路径当中 compile 'com.android.support:support-v4:21.0.2' //标准的远程以来格式 依次是 域名:组织名:版本号 compile 'com.etsy.android.grid:library:1.0.5' compile 'com.alexvasilkov:foldable-layout:1.0.1' // 编译extras目录下的ShimmerAndroid模块 compile project(':extras:ShimmerAndroid')}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表