gradle dependsOn等记录玩转。
task makeJar(type:org.gradle.api.tasks.bundling.Jar) {//指定生成的jar名baseName 'drisk'//从哪里打包class文件from('build/intermediates/classes/debug/com/ijm/drisk')//打包到jar后的目录结构into('com/ijm/drisk')//去掉不需要打包的目录和文件//exclude('ui', 'uuid')//过滤不需要打入jar包的文件(以ui,uuid,M开头的目录和文件)exclude('ui', 'uuid', 'M')//指定打包的class//include "com/xxx/drisk/*.class"
}task copyFile(type: org.gradle.api.tasks.Copy){from('build/libs/drisk.jar', 'libs/xxx.jar', 'src/main/libs')into('build/sdk')
}task deleteSdk(type: org.gradle.api.tasks.Delete){delete('build/sdk')
}makeJar.dependsOn(build)
copyFile.dependsOn(deleteSdk)
dependsOn
表示在自己之前先执行这个方法
uiTest.mustRunAfter unitTest
执行``gradle uiTest unitTest -q```会输出如下结果,说明unitTest是在uiTest之前运行的。
Compiled
Unit test
UI test
https://www.jianshu.com/p/d6a3ea60ccf3
repositories {flatDir {dirs 'libs'}
}
compile(name: 'mergedsdk-release', ext: 'aar')
举个例子
task makeJar(type: org.gradle.api.tasks.bundling.Jar) {from('build/intermediates/classes/release', 'cacheclass')destinationDir = file('libs')baseName 'mysdk'
}
build.dependsOn(makeJar)
干涉arr生成流程.
task copyFile(type: org.gradle.api.tasks.Copy) {from('cacheclass')into('build/intermediates/classes/release')// from('cacheclass')
// into('build/intermediates/classes/release')}task deleteSdk(type: org.gradle.api.tasks.Delete) {delete('build/intermediates/classes/release')
}//makeJar.dependsOn(build)
//copyFile.dependsOn(deleteSdk)//copyFile.dependsOn(build)//通过执行copyFile任务触发 cooyFile在 build之后执行,无法拦截 arr的生成。
//build.dependsOn(copyFile)// copyFile先与build执行。 通过执行build触发
同时执行复制和删除
task deleteSdk(type: org.gradle.api.tasks.Delete) {delete('build/intermediates/classes/release')
}task publishSDK2Demo3() {copy {//不根据根目录定位,容易找不到路径from("${project.rootDir}/mergeincludearr/build/outputs/aar/mergeincludearr-release.aar")into("${publishDir}/sdklib/libs")}delete("d:/1.txt")}
task publishSDK2Demo(type: org.gradle.api.tasks.Copy) {copy {//不根据根目录定位,容易找不到路径from("${project.rootDir}/mergeincludearr/build/outputs/aar/mergeincludearr-release.aar")into("${publishDir}/sdklib/libs")}delete("${publishDir}/app/build")delete("${publishDir}/.gradle")delete("${publishDir}/sdk/build")delete("${publishDir}/app/app.iml")delete("${publishDir}/sdklib/sdklib.iml")print "删除缓存完成 ${publishDir}"// copy {
// print "\n copy被执行!"
// from 'build/outputs/arr/mergeincludearr-release.aar'
// into "${publishDir}/sdklib/libs"
//
//
// rename {
// 'xsdk.arr'
// }
// }}
task copy(type: Copy) {
// end::no-description[]description 'Copies the resource directory to the target directory.'
// tag::no-description[]from 'resources'into 'target'include('**/*.txt', '**/*.xml', '**/*.properties')
}
表示从resources复制以txt, xml .properties结尾的文件到target目录
依赖的另外一种追加方式
依赖到assembleRelease的办法
如果直接在build.gradle里面写xxx.dependsOn(assembleRelease)就会报错,could not get unknown property 'assembleDebug' for project
方法1:
tasks.whenTaskAdded { task ->
// print " task ${task.name} add \n"if (task.name == 'assemble') {
// if (task.name == 'assembleRelease') {task.dependsOn 'deleteDemoTask'}
}
方法2:
task A_BuildDex(dependsOn: "assembleDebug") {
// F:\src\git_project\fuck\testapp\build\intermediates\dex\debug\mergeDexDebug\outdoLast{println("copy debug...")copy {
// from "build\\intermediates\\external_libs_dex\\debug\\mergeExtDexDebug\\out"//纯模块里面再引用的dex 显然不符合需求from "build\\intermediates\\dex\\debug\\mergeDexDebug\\out"into "../assets/"}}
}
方法3
task renameApk(type:Copy){//somethingdependsOn 'assembleRelease'
}
无法依赖到build的错误
这是bug,我直接不依赖到build依赖到assembleDebug了。
http://www.taodudu.cc/news/show-2177298.html
相关文章:
- Spring中的ref和depends-on区别
- docker-compose中解决depends_on无效问题
- @DependsOn或depends-on配置的使用
- Depends
- 入门注解@DependsOn
- @DependsOn
- depends的使用教程
- DependsOn注解
- FastAPI基础:Depends怎么用?
- depends-on
- SpringBoot - @DependsOn注解详解
- Spring中@DependsOn注解的作用及实现原理解析
- Spring中的depends-on
- depends工具查看exe和dll依赖关系
- Depends简介与使用说明
- depends.exe 使用说明
- STM32用热敏电阻测温
- 基于单片机的热敏电阻测温设计
- 单片机实验13:用热敏电阻和ADC实现测量温度
- 热敏电阻(NTC)的作用
- 32 usb电路_【干货】快速创建基于热敏电阻的精确温度检测电路
- 热敏电阻制作温度传感器的c语言,NTC热敏电阻温度测量和控制系统.doc
- 热敏电阻制作温度传感器的c语言,课题一NTC热敏电阻温度测量和控制系统.doc
- 用于温度测量的热敏电阻
- c语言ntc程序,NTC热敏电阻程序.doc
- matlab拟合热敏电阻温度特性曲线,深度解析NTC热敏电阻进行对数分段曲线拟合的技术分析...
- 【NTC 热敏电阻与 Arduino 读取温度】
- 热敏电阻温度采集简述
- 热敏电阻 电桥计算
- matlab已知热敏电阻数据,Matlab在热敏电阻特性测量实验中的应用
gradle dependsOn等记录玩转。相关推荐
- Gradle打包命令记录
Gradle打包命令记录 第一种方式: gradle build 执行后在在build/lib下生成war包 第二种方式: gradle clean gradle --refresh-dependen ...
- gradle exclude_Gradle学习记录020 java工程的测试 part1
详细学习如何用Gradle测试java工程.第二部分.该学习记录基于Gradle官方网站资料.本篇参考链接如下: https://docs.gradle.org/current/userguide/j ...
- 破解Gradle(六) Gradle Plugin技术及玩转transform
如果你想在编译期间搞事情,如常用的有无痕埋点,方法耗时统计和组件通信中自动注入等等,就要来学习字节码插桩的技术.而所谓字节码插桩技术其实就是修改已经编译好的class文件,在里面添加自己的字节码,然后 ...
- Android配置build.gradle解锁更高逼格玩法(多版本共存、分服务器打包等)
背景 在日常的AndroidAPP开发过程中,常常需要在同一设备上安装同一APP的多个版本.如在没有测试设备的情况下需要使用到个人设备进行测试,而该设备已安装正式版本且有大量缓存数据.applicat ...
- 软件工程课程设计团队项目总结与项目报告
1. 团队成员自评 漆艺: 身为团队的PM项目经理,开始的时候自己还不知道该做些什么,因为自己项目经验不足,团队把这个重要的角色交给我,那就有责任和义务把团队项目做好,并且发挥各个成员的作用 ...
- 软件工程课程设计项目总结与项目报告
软件工程课程设计团队项目总结与项目报告 团队成员自评 漆艺: 身为团队的PM项目经理,开始的时候自己还不知道该做些什么,因为自己项目经验不足,团队把这个重要的角色交给我,那就有责任和义务把团队项目做好 ...
- 疯狂来往android版,疯狂来往下载app
介绍(2020-04-05) 你演我猜聚会社交 特色卖点:粉笔画风格,制作精良的游戏界面:多个海量题库主题,任你任意选择:视频记录爆笑瞬间,分享到社交网络. 独家内容:<爸爸回来了>.&l ...
- Unity Shader-Ambient Occlusion环境光遮蔽(AO贴图,GPU AO贴图烘焙,SSAO,HBAO)
前言 十一放假很开心,正好赶上观望了了许久的<尼尔·机械纪元>打折啦.窝在家里搞了三天三夜,终于E结局通关啦!!!真的好久没玩过这么好玩的游戏了,于是乎我的废话应该会多不少,毕竟,写blo ...
- TotalControl之手机录屏神器
很多人不知道Total Control(以下简称TC)的录屏功能,今天给大家介绍一下,在TC多种多样的屏幕功能中,"手机录屏"是非常实用的一个功能,用户可以通过该功能,进行手机视频 ...
- 这40款优质APP大合集,总有一个适合你!
1.X浏览器 可能是目前最快的一款浏览器了,X源自于单词 eXtreme (极致的),同时"X"也是数学方程中的未知数,预示着未知和变化: 2.八戒助手 这款广告去除软件可谓是当年 ...
最新文章
- 【数据分析】干货!一文教会你 Scrapy 爬虫框架的基本使用
- ajax 高并发请求,理解node.js处理高并发请求原理
- 【2016年第6期】面向国际的生命组学大数据管理体系建设
- 前端性能优化学习(慕课网)笔记
- 【搬运】各种知乎段子
- 如何在软件里显示编译时间
- 微信小程序模板平台_小程序模板免费使用_小程序界面模板
- oracle:根据出生日期计算年龄
- Unknown label type: ‘continuous
- NOC2021年测试卷3
- apache c语言源码,Apache模块开发/用C语言扩展apache(2:APR编程介绍)
- 在未提供官方驱动的Windows平板上安装Win10且完美驱动的解决方案
- 《安富莱嵌入式周报》第268期:2022.05.30--2022.06.05
- C++链接器工具错误:LNK2001, LNK2019
- 线性规划与非线性规划的求解
- 灵狐剪辑,ai混剪,tiktok批量去重工具功能介绍
- 我不看好中移动充当4G急先锋
- mothur trim.seqs 去除PCR引物
- Prolific USB-to-Serial Comm Port驱动
- 17173游戏网-王者荣耀代码优化分析(含内链)(更多内容请访问http://www.eduaskx6.com/)...
热门文章
- 郝斌 mysql_郝斌–SQL Server2005学习笔记
- 微带滤波器摘要_微带线带通滤波器设计
- RS485接口上的PTC
- 在renderman中使用raytrace 计算fur的项目
- 主动轮廓线模型Snake模型简介amp;openCV中cvSnakeImage()函数代码分析
- 第 1 章 程序员考试简介
- 计算机网络生活应用,浅谈计算机网络在生活中的应用
- chrome扩展程序安装_如何在Windows上删除“由企业策略安装”的Chrome扩展程序
- 反弹c语言作业,C语言实现反弹球游戏
- 华侨大学计算机等级,全国计算机等级考试报名系统-华侨大学.doc