Gradle 中 buildConfigField的巧妙应用】的更多相关文章

当用AndroidStudio来进行Android项目开发时,build.gradle就是这个工具的核心部分,所有的依赖,debug/release设置,混淆等都在这里进行配置. 下面就主要来记录下利用buildConfigField来为我们的项目进行动态配置的目的 eg:debug:打印日志,在内网测试,利用签名 release:关闭日志,外网,签名等 先贴出一个完事的build.gradle文件,如下: apply plugin: 'com.android.application'apply…
在gradle项目中使用embedded tomcat. 最开始部署项目需要手动将web项目打成war包,然后手动上传到tomcat的webapp下,然后启动tomcat来部署项目.这种手动工作通常还要指定端口,指定项目位置等,这些操作是重复的操作. 开发的时候,ide自然想到集成这些功能,于是都是server模块,设置好参数就可以run server,测试了.个人操作的时候确实挺方便的,然而当团队协作的时候,每个人都要手动去设置这些参数,而且大家或许还在使用着各种各样的idea.eclipse…
jaxb,全称为Java Architecture for Xml Binding,是一种将java对象与xml建立起映射的技术.其主要提供两个功能,一是将java对象映射为xml,二是将xml映射为java对象.JAXB有1.0版和2.0版.2.0版对应的JSR(Java specification request, java规格要求)是JSR 222.jaxb中的xjc工具能够将XML Schema转换为对应的java类.支持的XML类型包括XML DTD,XSD以及WSDL.而schema…
在编写Gradle脚本的时候,在build.gradle文件中经常看到这样的代码: build.gradle 1 2 3 4 5 6 7 8 9 buildScript { repositories { mavenCentral() } } repositories { mavenCentral() } 这样子很容易让人奇怪,为什么repositories要声明两次哪?buildscript代码块中的声明与下半部分声明有什么不同? 其实答案非常简单.buildscript中的声明是gradle脚…
如果你的项目使用了Gradle作为构建工具,那么你一定要使用Gradle来自动生成IDE的项目文件,无需再手动的将源代码导入到你的IDE中去了. 如果你使用的是eclipse,可以在build.gradle中加入这么一行. 1 apply plugin: 'eclipse' 然后在命令行中输入gradle eclipse就可以生成eclipse的项目文件,直接使用eclipse打开生成的项目文件即可. 当然作为Java程序开发者,最好使的IDE还是Intellij,昨天听闻Intellij 13…
PS: 在build script中的task apply plugin: 'spring-boot' 需要 classpath("org.springframework.boot:spring-boot-gradle-plugin:1.2.3.RELEASE") apply plugin: 'com.moowork.gulp' 需要classpath 'com.moowork.gradle:gradle-gulp-plugin:0.10' 在编写Gradle脚本的时候,在build.…
gradle很好用,但是默认是没有代码覆盖功能的,只好自己写.曾经在网上找到过别人的一段脚本,虽然也能用,但是有一些不爽的地方,一个原因是它不支持对层级工程中全部代码的覆盖,另一个原因是它用替换build/classes/main里面的class文件,再依赖gradle的单元方式来实现的.我自己写了一个代码覆盖的脚本,可以避免这两个问题,代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28…
有关其他已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或访问:http://gradledoc.qiniudn.com/1.12/userguide/userguide.html 本文原创,转载请注明出处:http://blog.csdn.net/maosidiaoxian/article/details/41204073 关于我对Gradle的翻译,以Github上的项目及http://gradledoc.qin…
Gradle是基于Groovy的DSL基础上的构建工具,Gradle中的闭包,其原型上实际上即Groovy中闭包.而在表现形式上,其实,Gradle更多的是以约定和基于约定基础上的配置去展现.但本质上,大多数配置,实际上都对应着闭包以及闭包的具体使用. 例如,实际Android项目中,我们经常看到类似如下的所谓配置项: allprojects { repositories { mavenLocal() maven { url 'http://maven.aliyun.com/nexus/cont…
在 Intellij IDEA 中结合 Gradle 使用 MyBatis Generator 逆向生成代码 Info: JDK 1.8 Gradle 2.14 Intellij IDEA 2016.3 前言 由于 IDEA 的教程较少,且 MyBatis Generator 不支持 Gradle 直接运行,因此这次是在自己折腾项目过程中,根据一些参考资料加上自己的实践得出的结论,并附上相应的 Demo 可供自己未来参考,也与大家分享. 本文的 Demo 也可以当作工具直接导入 IDEA,加上自…
CompileSdkVersion:编译版本,就是运行这个项目需要的SDK,即API Level. buildToolsVerson:是构建工具的版本,构建工具包括了打包工具aapt.dx等等. 注意: 1.buildtools的目录位于 android_sdk_path/built-tools/XXX.这个版本号一般是API--LEVEL.0.0. 2.eclipse的project.properties中可以设置sdk.buildtools,也可以不设置,默认是指定最新版本.而在Androi…
如何在Maven和Gradle中配置使用Groovy 2.4与Spock 1.0 原文 https://dzone.com/articles/spock-10-groovy-24 翻译 hxfirefox Maven Maven无法天然支持除Java外的其他JVM语言,例如Groovy或Scala.想要在Maven中使用Groovy/Spock,需要引入第三方插件.对于Groovy,最佳选择是GMavenPlus,另一个选择是使用Groovy-Eclipse编译器的插件,不过这种插件不使用官方g…
demo_myna中的build.gradle中的dependencies是依赖项目.比如之前开发的一个项目A,现在新的项目B要使用项目A的功能,那么把项目A作为类库关联进来,这样b就能直接使用A的功能,而不用重新开发…
idea中 gradle中 引用jar包,版本后面默认加:的问题 gradle中引用jar包版本不一致的问题 gradle中引用jar失败的问题 如上题目所示,三个问题其实都是同一样的简单又恶心,因为你知道明明问题出在这里,但就是不能解决 解决方法: 第一步,你首先刷新你的gradel引用架包 第二步,刷新完了之后,如果还是这样的问题,有一个简单的解决方法可以解决,你可以找同事本地的架包或者自己换一台电脑,将这几个架包下载下来以后,在gradle的本地文件夹下找到并复制到本机本地的仓库中即可 /…
如图:在build.gradle中的dependencies中加上要依赖的包后,就点击sync gradle.然后就开始了下载.在此过程中我是FQ了的(在此同时我是可以用chrome进入https://jcenter.bintray.com/这个网址的).可是速度依旧是那么感人,二十多分钟都在下载一个东东,我按上面的网址进去找到要下载的那个文件发现它很小,才几十k而已,不至于用AS下载的这么慢的.肯定是我哪里没搞好.. 你们怎么看??? -----------------------------…
gradle中,最经常被使用的,一个task,一个是dependencies 1.Task声明 task默认是DefaultTask类, Task中有两个属性 group description,最佳实践是把两个属性都设置上 如下面: //声明task的时候,就指定group和description,在声明task的时候,就声明doLast方法,task makeReleaseVersion(group: 'versioning', description: 'Makes project a r…
就想收藏一篇好文,哈哈,无他 Gradle中的buildScript代码块 - 黄博文 然后记录一些gradle的基础知识: 1.gradle wrapper就是对gradle的封装,可以理解为项目内部内置了gradle 2.dependencies的参数 上官方参数表https://docs.gradle.org/current/userguide/java_plugin.html#tab:configurations…
把自己的项目发布到maven仓库并在maven和gradle中开始使用 上一条博客中提到的日志打印项目总算是维护的差不多了, 不过现在使用它还是打成jar包放到其他项目内, 所以决定把项目传到maven仓库内, 使用时只需要配置一下即可了 我使用的是阿里云的maven仓库服务, 如何购买阿里云仓库这里就不多说了, 去阿里云上找很容易找到 1. 修改maven配置文件conf/settings.xml 首先添加服务配置项, 相当于令牌, 连接远程仓库 <servers> <server&g…
写过java的都知道,lombok几乎在项目中处于不可或缺的一部分,但是lombok在Gradle的项目中配置并非人人都知道. 很多人在项目依赖中直接这样写 1 compile "org.projectlombok:lombok:1.18.4" 但这样的处理在Gradle 5.0以上被命令禁止了,在4.x的高级版本中编译时也会有对应的告警 12345 The following annotation processors were detected on the compile cla…
目录 简介 project和task 一个例子 task详细讲解 task脚本 task依赖 动态task 默认task build script的外部依赖 gradle中的build script详解 简介 build.gradle是gradle中非常重要的一个文件,因为它描述了gradle中可以运行的任务,今天本文将会带大家体验一下如何创建一个build.gradle文件和如何编写其中的内容. project和task gradle是一个构建工具,所谓构建工具就是通过既定的各种规则,将原代码…
目录 简介 定义task tasks 集合类 Task 之间的依赖 定义task之间的顺序 给task一些描述 task的条件执行 task rule Finalizer tasks 总结 深入理解gradle中的task 简介 在之前的文章中,我们讲到了如何使用gradle创建一个简单的task,以及task之间怎么依赖,甚至使用了程序来创建task.在本文中,我们会更加深入的去了解一下gradle中的task. 定义task 定义一个task可以有很多种方式,比如下面的使用string作为t…
目录 简介 增量构建 自定义inputs和outputs 运行时API 隐式依赖 输入校验 自定义缓存方法 输入归一化 其他使用技巧 gradle中的增量构建 简介 在我们使用的各种工具中,为了提升工作效率,总会使用到各种各样的缓存技术,比如说docker中的layer就是缓存了之前构建的image.在gradle中这种以task组合起来的构建工具也不例外,在gradle中,这种技术叫做增量构建. 增量构建 gradle为了提升构建的效率,提出了增量构建的概念,为了实现增量构建,gradle将每…
目录 简介 构建java项目的两大插件 管理依赖 编译代码 管理resource 打包和发布 生成javadoc 简介 之前的文章我们讲到了gradle的基本使用,使用gradle的最终目的就是为了构建java项目.今天本文将会详细的讲解如何在gradle中构建java项目. 构建java项目的两大插件 安装java项目的目的不同,构建java项目有两大插件,一个是application,表示构建的是java应用程序:一个是java-library,表示构建的是java库,供别的项目使用. 不管…
好久没有写博客了…元旦前赶紧写一篇吧… 这些日子琢磨了一下gradle.对比起maven确实在配置上灵活很多,对groovy的支持可以更容易的自定义任务. 由于最近的几个项目中都使用到了moco这个开源项目,它使用gradle管理,使用命令gradle uberjar可以生成一个独立运行包,这个包有8M大.我使用的环境比较特殊…8M有点大了,就琢磨这使用ProGuard给它瘦个身,效果不错,简单配置以后大小变成了4.6M,只有原来的57%了. 在配置的过程中遇到了很多难题,google之后都没有…
通常下,多模块的项目如下: Root project 'demospring' +--- Project ':model' \--- Project ':rest' 那么我们需要在rest模块依赖model模块,也非常简单,方式如下: compile project(":model") 通常情况,我们运行项目时不会有错的,但是你执行gradle的build任务时,坑爹的地方就来了,会报类似如下的错误: :model:build :rest:compileJava /Users/xxxx…
起因 刚完成一个版本的开发.刚上Google play 就有用户反映无法更新应用.错误代码为:Can't install app "****" can' be installed.Try again, and if the problem continues,get  help toubleshooting.(Error code: -505) 解决思路 得到这样的Bug当然感觉到莫名其妙了.因为开发阶段一直都没有问题.不过还得解决. 首先去百度或者Google 这个关键字 “Goog…
对于maven项目来说,目录结构是固定的,也就是像这样: src/main/ src/main/java/ src/main/resources/ src/test/ src/test/java/ src/test/jresources/ Gradle也是一样的,他也有一个约定的目录结构,格式和maven的结构一样.但不同的是,gradle的目录结构是可以改的,官网中叫做Changing the project layout.怎么改,或者说怎么自定义?这就要用到SourceSet了. Sourc…
gradle 默认只执行当前目录下的build.gradle 脚本,而我们的项目通常是有多个模块依赖的,这时需要我们对多个目录同时编译,那就需要我们创建一个settings.gradle  文件 如果你的目录下有settings.gradle (文件需要自己创建) ,里边添加其他目录,会继续执行其他目录下的build.gradle 1.目录结构 (主文件夹中build.gradle输出 "AAAAA",g1.g2 文件夹中只包含一个build.gradle 文件  task 分别  输…
Maven Maven本身不支持其他JVM语言(例如Groovy或Scala).要在Maven项目中使用它,需要使用第三方插件.对于Groovy而言,最好的选择似乎是GMavenPlus(重写不再维护的GMaven插件).另一种选择是允许使用Groovy-Eclipse编译器和Maven 的插件,但是它没有使用官方的插件,groovyc并且在过去,使用Groovy 的新发行版/功能存在一些问题. GMavenPlus插件的示例配置如下所示: <plugin> <groupId>or…
gradle 相当于 gradle wapper,是gradle的包装命令 使用gradlew来构建项目被认为是最佳实践. 使用gradlew有以下好处: 当客户机上没有安装gradle时,可以直接用gradlew命令来构建项目. 当客户机上gradle版本与所需版本不一致时,可以用项目中自带的gradlew来构建 生成gradlew task wrapper(type: Wrapper) { gradleVersion = '3.4' distributionType = 'all'//这里有…