gradle 自定义buildType如何指定sourceSet

自定义一个buildType
如何指定它的源集呢(sourceSet如何指定)

最好有gradle 代码示例下

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
The SourceSet 'instrumentTest' is not recognized by the Android Gradle Plugin. P
org.gradle.initialization.ReportedException: org.gradle.internal.exceptions.LocationAwareException: A problem occurred configuring project ':PushSDK'.rn at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:139)rn at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:109)rn at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:78)rn at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:75)rn at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)rn at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100)rn at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:75)rn at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:53)rn at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)rn at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)rn at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)rn at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$1.run(RunAsBuildOperationBuildActionRunner.java:43)rn at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)rn at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)rn at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)rn at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)rn at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40)rn at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51)rn at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:47)rn at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:30)rn at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39)rn at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25)rn at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:80)rn at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:53)rn at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:57)rn at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:32)rn at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36)rn at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25)rn at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)rn at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)rn at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:69)rn at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:30)rn at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:59)rn at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:44)rn:78)rn at org.gradle.internal.invocation.GradleBuildController$1.call(GradleBuildController.java:75)rnerationBuildActionRunner.java:43)rn at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)rn at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)rn at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)rn at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)rn at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:40)rn rnandExecution.java:122)rn at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)rn at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122
Android 自定义构建类型 BuildType
最近接触到自定义构建类型 BuildType,发现这一块有些地方稍不注意的话会被绕进去浪费点时间,既然我这边已经花费时间了,如果正好你也需要接触到 BuildType,也许接下来分享的 tips 可能会帮你节省些时间。 缘起 BuildType 相信许多开发者都不陌生,很常见的一种使用场景是线上、线下的后台接口 BaseUrl 不同,许多人会选择在 build.gradle 文件的 buildTy...
Gradle使用技巧1——根据buildType自动打包
自定义参数,在代码中使用 在开发过程中,一般接口地址根据环境不同分为release、debug等不同地址,如果只是debug和release两种还好办,可以根据 BuildConfig.DEBUG 来区分使用哪个地址,但是如果又多了一个dev环境呢?再有dev2……怎么办? 这个时候就轮到Gradle的自定义参数上场了!用户可以自己选择是在buildType或者Flavors里自己设定,设定的语
如何配置自定义gradle
1. 自定义config.gradle def versions = [:] versions.support = '1.0.0-beta01' versions.constraint_layout = '1.1.2' versions.junit = "4.12" versions.test_runner = '1.1.0-alpha4' versions.test_espresso = '...
Gradle构建之自定义Gradle插件
Gradle是一个专注于构建自动化和支持多语言开发的构建工具。使用Gradle构建工具,我们可以方便又快速地实现自己的构建目标。Gradle所有有用的特性都是由插件提供的。一个Gradle插件打包了可重用的构建逻辑,可以在不同的项目和构建中使用。Gradle允许你实现自己的自定义插件,这样你就可以重用你的构建逻辑,并与其他人分享。
Android如何自定义Gradle插件
Android-如何自定义gradle插件 自定义gradle插件可以实现定制自己的构建流程,以达到复用目的; 1. 自定义插件方式 自定义插件有三种方式 添加脚步 在你的app项目的build.gradle中直接使用groovy脚步语言编写插件 这样方式好处是插件能自动变异且被包含到构建脚步中,你无需做任何处理;缺点是插件到逻辑都放到都build.gradle中去了,增加了脚步的复...
Gradle使用技巧2——不同buildType使用不同applicationId
在工作中,有的时候会遇到比较奇葩的需求,就是线上环境和开发环境不能使用同一个applicationId,比如在使用推送的时候(小米推送),不同的KEY对应不同的applicationId,如果在注册的时候只使用同一个KEY,那么平时开发测试的时候很容易就导致消息发到了线上环境,这怎么办呢? 还能怎么办?在推送网站上申请两个账号呗,一个测试账号,一个正式账号。然后在初始化推送服务的时候可以根据 Bu
自定义Gradle插件(二)
上一篇博客已经介绍了如何实现简单的自定义gradle插件,今天介绍如何自定义Task。 一、自定义Task          1、直接沿用上一篇的代码,copy一份改名CustomPluginTask          在plugin\src\main\groovy\com\micky\gradle目录创建源文件 MyCustomTask.groovy package com.micky.
自定义Android Gradle插件
转载请注明出处:https://blog.csdn.net/binbinqq86/article/details/81033746 前言 gradle插件可以帮助我们干很多事情,类似一个工具,可以根据你自己想要的效果去定制自己的插件,本文就讲解一下怎么去实现自己的一个插件。根据官网描述,自定义插件一共有三种方式: Build script——gradle文件,构建脚本内,不过这种只能在文件内使用 buildSrc project——buildSrc工程,可以在自己的工程内随意使用,但是其他工程就无法使
自定义gradle插件入门
Android Gradle Android项目使用 Gradle 作为构建框架,Gradle 又是以Groovy为脚本语言。所以学习Gradle之前需要先熟悉Groovy脚本语言。 Groovy是基于Java语言的脚本语言,所以它的语法和Java非常相似,但是具有比java更好的灵活性。下面就列举一些和Java的主要区别。 Android Gradle 的 Project 和 Tas...
Gradle自定义构建
Gradle自定义构建自定义构建操控manifest条目BuildConfig和资源项目范围的设置项目属性默认的任务 自定义构建 自定义构建构成的方式有很多种,当你在Android Studio中编写构建文件时,无论你在构建文件中自定义了什么,都应该同步该项目。当你开始添加依赖或BuildConfig变量时,同步将会变得尤为重要。 在你编写settings.gradle或build.gradle时...
自定义Gradle插件
自定义gradle插件实现,以及通过插件来修改编译后的class文件和监控Task任务执行情况
AndroidStudio自定义Gradle插件
在AndroidStudio中自定义Gradle插件
gradle自定义任务
学习资料 Writing Custom Task Classes 概述 gradle中的Task生成有两种途径 由Plugin引入 在build.gradle文件中直接创建 这两种情况在之前的示例中都有演示,比如引入java插件,就可以应用java插件中定义的任务;在build.gradle中直接创建可以参考 构建脚本要素之task 这两种情况都不是本章节介绍的重点~,重点是改变我...
自定义Gradle插件学习笔记
插件的价值是什么不是装逼,也不只是减少一些不太好理解和可能冗余的代码.核心在于控制编译过程,帮助管理项目,让项目代码更少的实现细节,关注于业务逻辑解耦,管理代码边界.写这个笔记的原因我有一句mmp不知……网上要么是进阶教程,要么是漏东西的”入门教程”,找不到一个可以一步步完成的傻瓜教程,让平时几乎不改gradle脚本的我情何以堪,自己写一篇,让找到的人可以省些时间,也作备忘之用.开撸Hello Wo
gradle学习之——自定义task
自定义task任务,实现productFlavors中不同flavor的自动打包。代码如下: flavors.keySet().each { flavor -> buildTypes.each { buildType -> def flavorCNName = getFlavorCNName(flavor) tasks.create(name...
Android自定义gradle之二
经过上篇文章的讲解应该知道怎么自定义gradle了,如果不知道的话点击下面的链接https://blog.csdn.net/yushuangping/article/details/80966022 这次我们来定义多个app的命名,实现自动切换命名和请求的ip地址 首先需要在自定义gradle里面自定义这些内容,有些是非必需的,对于必须的我已经进行注释 然后在工程的app下的gradle...
Gradle 自定义构建全局变量
在ADT17之后,出现了一个非常有意思的类,伴随着apk中: 其中的内容如下:   /** * Automatically generated file. DO NOT MODIFY */ package com.xuan.kotlinapp; public final class BuildConfig { public static final boolean DEBUG...
自定义gradle插件进阶
上次写过自定义gradle插件入门的博客, 介绍了最基本的gradle构建和简单的自定义gradle, 运用生命周期函数、task依赖和扩展配置等。在上篇博客的基础上, 这篇博客继续研究下自定义gradle插件。 动态编译技术在开源框架中的应用非常的广泛,现在市面上的插件化框架,热修复框架几乎都使用了动态编译技术,原理几乎都是在编译期间动态的在class文件中注入或者修改代码。 AOP技术应...
自定义Gradle任务教程
自定义Gradle任务 本文我们介绍如何在Gradle中自定义任务。通过构件脚本定义新任务或自定义任务类型。想了解Gradle请先阅读前文,包括Gradle基础知识以及Gradle中任务介绍。 在build.gradle中自定义任务 在build.gradle中可以直接定义任务: task welcome { doLast { println 'Welcom...
Gradle自定义项目结构
一:项目如何实现eclipse和Android studio的兼容 在Android开发中,很多老项目都是使用eclipse开发的,但为了开发的便捷性,我们要使用Android studio,问题来了,一个项目如何兼容Android studio和eclipse? Gradle的基本项目结构起始于main,我们只要在gradle脚本中具体指定各个资源的路径就可以了,比如java文件,资源文件,清
自定义gradle插件
前言:还记得前期做过一个android热修复的东西,其中有一个很重要的步骤就是通过javassist对jar进行字节码修改。当初修改字节码使用的是一个jar包。今天将为修改字节码这一步骤定义成一个gradle插件。一、gradle的工作流1.1初始化阶段在该阶段主要是做一些编译的前期准备工作,可以通俗的理解为解析settings.gradle ps: 1.1.1gradle中的project
自定义Gradle插件(一)
Google已经建议Android开发全部转向Android Studio开发,Android Studio 是使用gradle编译、打包的,那么问题来了,gradle可是有一堆东西...,为了测底了解gradle,今天就来学习下如何写自己的gradle插件(当然插件类是使用groovy写的),先看如下代码目录: 如上图所示,plugin目录是插件源码目录,sample是用来测试插件的。
Android自定义Gradle插件
一、Gradle介绍 gradle是Android Studio默认的构建工具,它不仅继承了maven中仓库,坐标,依赖这些核心概念,还继承了ant中target的概念,可定义自己的任务task。在build.gradle文件中我们可以看到下面的代码: apply plugin: 'com.android.application' 'com.android.application' 就是插...
Gradle自定义AAR文件名称
贴代码留下记录apply plugin: 'com.android.library' //获取生成的产品名 def getProductName() { return "xxxx" } android { compileSdkVersion 19 buildToolsVersion '26.0.2' defaultConfig { minSdk...
gradle 自定义生成 war
有时候发布war需要指定和开发环境不同的文件,这时候需要自己定义war包文件接口,但是gradle自带的war插件打包不够灵活,可以使用jar任务来自定义。在本实例中我使用release/resources/log4j.properties 文件来替换 main/resources/log4j.properties 文件改写自己的build.gralde 使用 gradlew.bat releas
六.gradle的自定义任务
一.在项目的build.gradle文件中加入代码:group 'com.tiglle.WepApp' version '1.0-SNAPSHOT'apply plugin: 'java'//gradle的插件,添加会增加相应的gradle命令 apply plugin: 'war'//gradle的插件,添加会增加相应的gradle命令repositories { mavenCentral
Android自定义gradle之三
经过上篇文章的讲解应该知道怎么自定义gradle了,如果不知道的话点击下面的链接https://blog.csdn.net/yushuangping/article/details/80966022 这次我们来讲解下在自定义gradle里面配置项目中的lib依赖包 首先需要在自定义gradle里面添加你要依赖的包 然后在app的gradle里面添加如下代码  ...
Android Studio 如何读取自定义配置的Gradle
工程build.gradle文件的内容可以使用变量的形式定义 ,这样是为了统一管理版本号,特别是对于模块化开发的大项目,这一功能能大大降低版本的不一致性 1.首先在根目录下创建文件:config.gradle,内容如下: 随便取一个名字就行 2.创建gradle文件(已我的为列) ext { ------------这个名字不能改,固定的 ...
安卓自定义BuildType构建支持混淆的debug包(debugProguard)
背景: 在开发过程中,一般存在debug和release两种类型,这两种类型一般差异: 1.debug会打印日志,release不打印。 2.debug不做代码混淆,release代码做混淆。 3.debug集成一些测试用的组件,如leakCanary等,而release不会。 4.debug版本通常会包含一些方便开发和测试使用的开关及设置,而release不会。 问题描述: 平时测试获取...
如何指定自定义纸张预览
如题:rn给客户做了5个不同格式的贴纸报表(自定义格式),用的是同一个打印机,每次打印时,要人工选纸张,打印才正常,如果是预览的时候,报表全变成了A4纸张.rn我的问题是:rn如何用程序指定纸张,让用户预览的时候,自动调指定的打印机和指定的纸张来预览?
gradle指定java主类
先贴出build.gradleapply plugin: 'java' sourceCompatibility = 1.8 jar { manifest { attributes 'Main-Class': 'com.sdp.app.Main' } } repositories { mavenCentral() } dependencies { comp
gradle指定相应JDK编译
问题描述:电脑中装有多个jdk版本,可能默认的jdk是1.6,但是项目中用到了俗称钻石语法的结构就是<>这玩意。但是由于你装的某些软件必须在1.6版本下才能跑,因此你不想更改的你的JAVA_HOME,下面有几种解决办法. IDEA编译器:比如Android studio.可以在File->Project structure->SDK Location中去指定你的jdk路径 build.gra
配置指定gradle阿里云仓库
-
Gradle之使用BuildConfig自定义常量
在正常项目开发中,我们经常会用到网络访问来连接我们自己的服务器,在开发中与正式环境中往往用到不同的接口地址,正常情况下,我们会在代码中自定义一个String常量来存储HTTP头地址,在开发阶段使用测试地址,上线打包时更换为正式地址。而用Android Studio开发项目时,我们可以用更优雅的方式来解决这个问题,即在BuildConfig中来自定义这个接口地址。       BuildCon
不得不学之「 Gradle」 ⑥ 自定义 plugin
学习完毕 Gradle 的基础知识,不来点实战,感觉就像没有学习过啊。那我们就搞一搞实战,一共两个简单的操作。第一,写一个自定义 Plugin。第二,写一个自定义 Transform。 自定义 Plugin 网上一般都会说三种方法是去创建,咱们就不来那么多虚的,来个一劳永逸的吧,我们直接新建一个工程来写,这个会了,新建 Library 工程 和在 buil...
android自定义通用的gradle之一
  步骤如下: 1.首先创建一个.gradle文件,如下图所示:                 创建好之后,如下图所示:       2.把自定义的gradle应用到工程的gradle里面,如下图所示:       3.在自定义gradle里面写自己通用的东西,如下图所示:     4.在其他的gradle里面进行引用,如下图所示:...
自定义 Gradle 插件+Maven上传
1.插件开发 现在来说下,详细的 Gradle 插件开发步骤: 新建一个项目 再新建一个 Module,此 Module 用于开发插件,类型选什么都无所谓,后面会大改。 在 Project 目录视图模式下,清空 build.gradle 文件的内容,删除其余的所有文件。 然后在 module 中新建多个文件夹 src/main/groovy ,再新建包名文件夹...
Gradle 自定义Task 打Jar包
之前的ADT为eclipse,所以对外提供jar时候,直接Export,选中src目录输出就可以了。但切到AS中的时候,就一直很啰嗦。所以,趁着晚上无聊,就研究了一下Gradle的Jar包的输出。 可以作为Jar包内容的有两个地方:1: build/intermediates/bundles/release/ 下的classes.jar2: build/intermediates/classes/r
自定义gradle模板和MVP模板
Android Studio安装目录\plugins\android\lib\templates\gradle-projects\NewAndroidModule\recipe.xml.ftl 查找com.android.support:appcompat,即可修改对应的support:appcompat版本 早期的版本在 Android Studio安装目录\plugins\android...