gradle初识

2024-08-31 20:38
文章标签 初识 gradle

本文主要是介绍gradle初识,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

    gradle初识:主要基于在AndroidStudio下的项目场景,学习gradle。

    如此,是对gradle的初步了解。


   

点击打开链接 gradle初识的mindMap原始文件

一、gradle构建整个项目

       在AS中,新建一个Project,表示一个项目;其下可以有多个Module,即是任务,也是模块。实现一个项目下多个任务,并能够实现多版本、多渠道打包是当前应用gradle、学习gradle的动力源泉。


      项目下gradle文档主要有图中几个,分别做详细说明。

1,Project#build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {
//构建过程依赖的仓库
repositories {jcenter()}
<pre name="code" class="html"> //构建过程依赖的仓库
 dependencies {
//gradle插件版本
classpath 'com.android.tools.build:gradle:1.2.3' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files }}
//配置整个项目的依赖仓库【父类】allprojects { repositories { jcenter() }}

        仓库 
repositories声明两次,其中buildScript配置的仓库,是gradle脚本自身需要的资源;allProject下的仓库,是项目所有模块需要的资源。 

2,Module#build.gradle

apply plugin: 'com.android.application'
//声明插件,这是一个Android项目【若是Android库,应该是“com.android.library”】
android {
//Android构建过程需要配置参数
compileSdkVersion 22//编译版本buildToolsVersion "22.0.1"  //buildTool版本
//忽略lint错误lintOptions {abortOnError false}//签名信息,此处配置了Release版本签名信息signingConfigs {release {storeFile file("pdaKeyStore.jks")//文件存储位置storePassword "12345678"//密码keyAlias "ds365"//别名keyPassword "12345678"//密码}}//打包选项packagingOptions {exclude 'META-INF/LICENSE.txt'exclude 'META-INF/NOTICE.txt'exclude 'META-INF/INDEX.LIST'}defaultConfig {applicationId "com.ds365.pda"minSdkVersion 9targetSdkVersion 22versionCode 1versionName "1.0"//serverDoMain:服务器域名地址 
//storeUrl:仓库地址,此处可配置多个manifestPlaceholders = [serverDoMain: "http://IP:端口号/",storeUrl    : "http://IP:端口号/"]}buildTypes {
//构建版本配置,major(不能使用main),buffer,test----<span style="font-size:18px;color:#FF0000;">配置不同版本</span>
release {minifyEnabled false   //是否开启混淆proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'signingConfig signingConfigs.release}}productFlavors {// 正式站:正式服务器地址(默认),major {}// 测试站:测试服务器地址,构建版本alpha {//测试站版AppId,清单文件中需配置Application[在类中设置变量获取]以及meta-dataapplicationId "com.ds365.pda.test"manifestPlaceholders = [serverDoMain: "http://IP:端口号/",storeUrl    : "http://IP:端口号/"]}}//资源设置sourceSets {main {res.srcDirs = ['src/main/res', 'src/main/res/']}alpha {res.srcDirs = ['src/alpha/res', 'src/alpha/res/']}}
}//模块依赖,此处是当前module的依赖,可以配置到Project#build.gradle中去,但那种方法不建议。
dependencies {
//libs下有多个jar文件
<span style="color:#FF0000;">   </span> compile fileTree(include: ['*.jar'], dir: 'libs')compile 'com.android.support:appcompat-v7:22.2.0'
//编译一个jar包文件
compile files('libs/xUtils-2.6.14.jar')compile files('libs/gson-2.2.1.jar')
//导入maven库
compile 'com.android.support:percent:22.2.0'compile 'com.github.subchen:jetbrick-webmvc-fastjson:2.1.1'
}
3,gradle.properties:

      配置文件,可配置签名相关信息:keystore位置,密码,keyalias等。

      也可以配置本地缓存文件的位置。

4,settings.gradle:

      当前文件用于配置多模块。

include ':module-a',':module-b'
      则实现当前项目有module-a, module-b两个模块。

二、配置自动打包环境

      添加build.bat文件:

call .//gradlew.bat clean build
即是执行gradle命令,也相当 与:gradlew assemble (只适用于AS中使用,更多细节需要强化)

     添加RenameAndDeleteFile.bat文件,重命名必须文件并删除不必要的文件。

::修改文件名
ren .\app\build\outputs\apk\app-alpha-release.apk DS365PDA_test.apk
ren .\app\build\outputs\apk\app-major-release.apk DS365PDA_major.apk::删除冗余文件
del .\app\build\outputs\apk\app-alpha-debug.apk
del .\app\build\outputs\apk\app-alpha-debug-unaligned.apk
del .\app\build\outputs\apk\app-alpha-release-unaligned.apk
del .\app\build\outputs\apk\app-major-debug.apk
del .\app\build\outputs\apk\app-major-debug-unaligned.apk
del .\app\build\outputs\apk\app-major-release-unaligned.apk










这篇关于gradle初识的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1124933

相关文章

Linux操作系统 初识

在认识操作系统之前,我们首先来了解一下计算机的发展: 计算机的发展 世界上第一台计算机名叫埃尼阿克,诞生在1945年2月14日,用于军事用途。 后来因为计算机的优势和潜力巨大,计算机开始飞速发展,并产生了一个当时一直有效的定律:摩尔定律--当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。 那么相应的,计算机就会变得越来越快,越来越小型化。

Gradle的基本使用

新建一个项目后,在项目文件夹下创建build.gradle文件,并加入内容:       apply plugin: 'eclipse'。    然后在终端运行gradle eclipse即可构建eclipse IDE的开发环境。    gradle默认值:gradle有些目录是有默认值存在,建议项目的配置,承袭了maven的风格,如:         java的源码目录:src/mai

使用gradle做第一个java项目

涉及到的任务如下: assemble任务会编译程序中的源代码,并打包生成Jar文件,这个任务不执行单元测试。 Total time: 5.581 secs E:\workspace\Test>gradle assemble :compileJava :processResources UP-TO-DATE :classes :findMainClass :jar :b

Gradle的安装和配置

Gradle是一个基于JVM的构建工具,它提供了: 像Ant一样,通用灵活的构建工具可以切换的,基于约定的构建框架强大的多工程构建支持基于Apache Ivy的强大的依赖管理支持maven, Ivy仓库支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件。对Ant的任务做了很好的集成基于Groovy,build脚本使用Groovy编写有广泛的领域模型支持构建 G

docker学习系列(一)初识docker

在第一版本上线之后公司,我们决定将之前使用的开源api文档项目转移到本公司的服务器之上,之前用的是showdoc,showdoc利用的是php技术,作为java程序员表示需要快速部署php环境以及apach容器都需要时间,所以采用第二种方法,即利用docker进行快速部署(虽然学习成本也不比php少)。 一、docker简介 docker的官网是https://www.docker.com,

框架template初识

框架初识 框架就是一个别人帮我们搭好的舞台,造好了很多现成的工具供我们使用,让开发过程更快速、简洁。 Gin框架介绍 Gin 是一个用 Go (Golang) 编写的 HTTP Web 框架。 Gin是一个用Go语言编写的web框架。它是一个类似于martini 但拥有更好性能的API框架, 由于使用了 httprouter,速度提高了近40倍。 第一个Gin示例 package mai

【数据结构】--初识泛型

1. 包装类 在Java中,由于基本类型不是继承自Object,为了在泛型代码中可以支持基本类型,Java给每个基本类型都对应了一个包装类型。 1.1 基本数据类型和对应的包装类 除了 Integer 和 Character, 其余基本类型的包装类都是首字母大写。 1.2 (自动)装箱和(自动)拆箱 装箱(装包): 把 基本数据类型 变为 包装类类型 的过程 叫做装箱。 反汇编指

初识Linux · 进度条

目录 前言: 1 缓冲区和回车换行 2 进度条 前言: 我们目前学习了些许知识,已经足够支持我们写一个非常非常小的项目了,即进度条,相信大家都有过下载游戏,等待游戏更新完成的时候,那么此时就有一个进度条,代表着游戏的更新进度,那么我们今天就来模拟实现这个过程,在此之前,我们需要一些预备知识。 1 缓冲区和回车换行 回车换行?是的,你没有看错,相信不少人对换行有一定的误解,我们

Linux初识线程

前言 前面在介绍进程的时候,说过进程的内核表述是"进程是承担资源分配的基本实体",但是我们至今都没有介绍如何理解他?本期我们就会介绍! 目录 前言 一、再谈地址空间和页表 1、OS对物理内存的管理 • 为什么4KB是OS进行I/O的基本单位? 2、再谈页表 • 二级页表 • 如何找到一个变量的所有字节? • 虚拟地址是如何转为物理地址的? • 理解动态内存管理 • 为什么对

兔子-build.gradle中代码的含义

//声明构建的项目类型,这里当然是android了apply plugin: 'com.android.application'//设置编译android项目的参数android {// SDK的版本号,也就是API Level,例如API-19、API-20、API-21等等。compileSdkVersion 23//构建工具的版本,其中包括了打包工具aapt、dx等等。// 这个工具的目