Gradle笔记

别再只调包了!深入理解机器学习虚拟筛选中的分子指纹(ECFP/Morgan) 本文深入探讨了ECFP/Morgan分子指纹在机器学习虚拟筛选中的应用与优化策略。通过解析半径参数与比特长度的化学意义,揭示了如何通过参数调优提升模型性能20%以上,特别适用于药物发现领域的高通量筛选。文章还提供了工程实践中的参数优化策略和多指纹融合技术,为开发者提供从理论到实践的全面指导。 阅读详情

是什么:是一个编程工具
做什么:构建项目的工具

gradle执行流程图

  1. 初始化阶段:首先执行setting.gradle文件,读出工程有几个project,为所有的project构建对象

  2. 在配置阶段:解析所有projects对象中的task,生成有向无环图(task的依赖关系图)

    主要监听配置阶段,是gradle执行的核心

  3. 执行阶段:执行所有task及其以来的task

image-20190427150609340

生命周期监听

//配置阶段开始前
this.beforeEvaluate {
    println '配置阶段开始前'
}
//配置阶段完成后
this.afterEvaluate {
    println '配置阶段开始hou '

}

//gradle执行完毕后
this.gradle.buildFinished {
    println 'gradle执行完毕后 '

}

this.gradle.beforeProject {
    println 'beforeProject '

}

this.gradle.afterProject {
    println 'afterProject '

}

执行build(是一个task),要先执行他所依赖的task

所有的都是project

module也是project,每个poject所有一个build.gradle 文件

查看项目的所有project执行./gradlew project

根project下多个子project

根project:管理子project

子project:对应输出,例如上面的app 会对应输出一个apk,Alibrary会对应一个aar的输出

如果是Java项目每个子project对应一个jar包的生成

project API

得到所有project

this.getAllprojects()

注意:所有build.gradle和setting.gradle的代码或方法都是在配置阶段执行的

得到当前项目的所有子project

this.getSubprojects()

得到当前项目的父project

this.getParent().name

得到当前项目的根project

this.getRootProject().name

在根project的gradle文件里,寻找指定的子project方法

project(‘子project名字’)

也可以在父project里完成对子project的配置,一般不这样做

配置当前project以及他下面的所有子project

allprojects{}

配置当前project下面的所有子project

subprojects {}


apply from: 导包

project 属性api

默认属性

定义变量

扩展属性

在父project里通过subprojects给所有子project定义扩展属性

直接在根project定义扩展属性

使用根project的属性

this.rootProject.xxx,也可以直接使用父类属性(继承关系)

把所有属性定义在一个gradle文件里,然后引入


引入gradle文件

使用属性

在gradle.properties里定义扩展属性


使用

注意:定义在这里的属性直接拿到的时候object,要转一下类型才能用
xxx.toInteger() xxx.toBoolean()

file文件api

注意:只支持在同一个项目里进行copy,不能脱离这个项目
跨工程可以用groove的方法

获取目录路径

file(path)


注意这个方法传入的是相对路径

拷贝

文件拷贝

copy {
    from file("src/main/AndroidManifest.xml")
    into getRootDir()
}

文件夹拷贝

拷贝其他操作

文件树遍历

遍历apk目录下的所有文件,打印每一个文件的名字(element是文件节点)
并且把每一个文件拷贝到test文件夹里面的

依赖相关api

buildscript

一般都是闭包的简略写法,这里为了理解,全部把参数写出来

配置仓库地址

简单写法

buildscript {
    ext.kotlin_version = '1.3.10'
    repositories {
        google()
        jcenter()
    }

Maven仓库配置

简写

buildscript里的dependencies为工程引入插件地址

与project里的dependencies不同,为程序引入第三方库地址

依赖冲突

compile和provided的区别

compile 在打包后,会把依赖内容达到apk里
provided (占位编译)只会在编译器使用这个依赖,不会打包到apk里
一个使用场景是

  1. 只在编译器起作用,不在运行期起作用
  2. 如果主工程所依赖的库工程中的依赖库已经在主工程中已用过了,那么在库过程中就不需要再次通过compile引入这个依赖了,而是应该通过占位编译方式provided,让在编译过程中通过,但是在不要打包到apk,因为最后使用的是主工程里的依赖 ,减少apk大小

执行外部命令

YOLOv11改进策略【损失函数篇】| WIoU v3:针对低质量样本的边界框回归损失函数 是一种基于IoU的损失函数,旨在解决目标检测中边界框回归损失函数在处理低质量训练数据时的问题。论文链接:https://arxiv.org/pdf/2301.10051 源码链接:https://github.com/Instinct323/wiou此处需要查看的文件是中定义了模型的损失函数和计算方法,我们想要加入新的损失函数就只需要将代码放到这个文件内即可将下方的函数替换原本的函数即可: 用于计算各种损失。在内修改如下代码,使模型调用此损失函数。 tal.py中是一些损失函数的功能应用。在内修改如下代码, 阅读详情

相关推荐

环境科研人必备:手把手教你用EPISuite 4.1批量预测化合物毒性(附ECOSAR实战)

本文详细介绍了EPISuite 4.1在环境毒理学研究中的应用,重点解析了ECOSAR模块的化合物毒性预测技术。通过批量处理实战和科研案例,帮助环境科研人员快速评估化学物质对水生生态系统的风险,提升工作效率。文章还涵盖了EPISuite核心模块的功能分类及ECOSAR模型的技术原理与算法特点。

weixin_28738165的博客 543

gradle构建脚本(build script)基础 dependencies classpath 与dependencies的区别

项目并不一定代表要构建的东西。尽管如此,为了让你了解什么是任务,我们将在本章中讨论如何在一个项目的构建中定义一些简单的任务。如果构建脚本需要使用外部库,可以将它们添加到构建脚本本身的脚本类路径中。您可以使用buildscript()方法,传入一个声明构建脚本类路径的块。声明了构建脚本类路径后,您可以像使用类路径上的任何其他类一样使用构建脚本中的类。下面的示例添加到前面的示例,并使用来自构建脚本类路径的类。对于多项目构建,使用项目的buildscript()方法声明的依赖关系可用于其所有子项目的构建脚本。

superzhang6666的博客 3755

Steam游戏服务器攻防全景解读——如何构建游戏级抗DDoS防御体系?

当检测到TCP/UDP混合攻击时,应触发预设的熔断策略:优先保障游戏大厅服务的UDP 27015端口,临时限制匹配系统的TCP连接数。针对Steam游戏服务器特有的UDP 4380端口,需配置协议合规性检查规则:限制数据包长度不超过128字节,强制校验请求来源IP的真实性。Steam游戏服务器的防护需要平衡安全性与玩家体验,通过协议深度解析、智能流量调度和服务端加固的三维防御体系,可构建游戏行业专属的抗DDoS护城河。答:采用弹性防护方案,基础防护带宽保持50Gbps,遭遇攻击时自动扩展至T级清洗能力。

2501_91486804的博客 1456

一文了解Gradle构建工具

Gradle 是一种开源构建自动化工具,可以构建几乎任何类型的软件。Gradle 对您要构建什么或如何构建它几乎没有任何假设。这使得 Gradle 特别灵活。Gradle 构建脚本是使用 Groovy 或 Kotlin DSL 编写的。

编程是一门实践技术 4284

鱼眼相机去畸变(图像拉直/展开/矫正)算法及实战总结

1、算法说明经纬度矫正法, 可以把鱼眼图想象成半个地球, 然后将地球展开成地图,经纬度矫正法主要是利用几何原理, 对图像进行展开矫正。经过P点的入射光线没有透镜的话,本应交于相机成像平面的e点。然而,经过鱼眼相机的折射,光线会交于相机成像平面的d点,就产生了畸变,因此畸变图像整体上呈现出像素朝图像中心点聚集的态势。而去畸变,就是将折射到d点的点,重新映射回到e点,因此去畸变之后的图像与原始的鱼眼图像相比,仿佛是把向心聚集的像素又重新向四周铺展开来。AVM环视系统——鱼眼相机去畸变算法 - 知乎。

大胡子大叔的专栏 2万+

博士申请-考核制经验分享(2)——个人简历

申博过程中一般在联系导师时就将个人简历作为邮件附件,有些学校也会在提交材料或者复试阶段提交个人简历。

weixin_49282401的博客 5529

gradle中的build script详解

build.gradle是gradle中非常重要的一个文件,因为它描述了gradle中可以运行的任务,今天本文将会带大家体验一下如何创建一个build.gradle文件和如何编写其中的内容。

程序那些事 1万+

chmod: changing permissions of `/u01/app/oracle/product/11.2.0/dbhome_1/bin/extjobO‘: Operation not

oracle 11.2.0.4安装psu 29141056,日志末尾抛出报错 Patching component oracle.ctx, 11.2.0.4.0... Applying sub-patch '29141056' to OH '/u01/app/oracle/product/11.2.0/dbhome_1' Patching component oracle.rdbms, 11.2.0.4.0... Patching component oracle.rdbms.rman, 11.2.0.

m0_37625564的博客 1834

Gradle入门学习---认识buildeTypes和dependencies

    Gradle是Android Studio默认的构建工具,如果是基本的APP开发,不会涉及到Gradle太多内容,毕竟它的诞生就不是专为Android服务的。     日常开发需要涉及到使用Gradle的场景相当有限,比较频繁的就是对应库,如jar,.so文件的导入,如果应用本身方法数比较多,尤其是导入太多第三方库就容易出现这个问题,就需要用到MultiDex的相关内容,如果需要在编译的...

weixin_34080571的博客 716

注意力机制篇 | YOLOv8改进之在C2f模块添加EMA注意力机制(附2种改进方法)

EMA(Exponential Moving Average)注意力机制是一种用于增强模型性能的注意力机制,它通过对模型的特征图进行加权平均来提取更有用的特征信息。具体来说,EMA注意力机制通过引入一个权重因子来调整特征图中每个位置的重要性,从而使模型能够更好地关注重要的特征。🌈

小哥谈 4180

搭建自己的MQTT服务器,实现设备上云(Ubuntu+EMQX)

这篇文章教大家在ECS云服务器上部署EMQX,搭建自己私有的MQTT服务器,配置EMQX实现设备上云,设备数据转发,存储;服务器我采用的华为云的ECS服务器,系统选择Ubuntu系统。

2万+

Gradle中的buildScript代码块

在编写Gradle脚本的时候,在build.gradle文件中经常看到这样的代码: build.gradle 1 2 3 4 5 6 7 8 9 buildScript { repositories { mavenCentral() } } repositories { mavenCentr...

weixin_34177064的博客 837

用 ABAP OAuth 2.0 Client 直连 SAP SuccessFactors:从体系到落地的一条龙实践指南

ABAP SMI允许在后端对外部服务的OData端点进行定义与自定义化配置,并以受信连接的方式暴露给ABAP应用调用。它并不替代OAuth,而是扮演端点与自定义参数的集中化定义者,最终认证依旧由完成。对于需要在ABAP后端发起临时或补充型OData调用的场景,SMI是一个轻量而清晰的集成入口。scope的客户端应用已经完成注册,API DomainCompany ID、证书或密钥都已归档。ABAP的Profile与Client已建立并绑定,OA2C_GRANT可见绿色访问状态。SMI。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 286

Gradle学习笔记

Gradle 是一个高度灵活的构建自动化工具,适用于各种软件项目。它通过项目(Projects)、任务(Tasks)和插件(Plugins)等核心概念来管理构建过程。项目是构建的基本单位,任务则是执行具体工作的单元,而插件则扩展了构建功能。Gradle 的构建生命周期包括初始化、配置和执行三个阶段。通过 Gradle Wrapper,团队可以统一构建工具的版本,确保一致性。Gradle 还提供了丰富的命令行工具和 API,支持自定义构建脚本和扩展属性,使得构建过程更加高效和可维护。

程序员伊成 1366

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

【Gradle:新一代构建工具】学习笔记 3 Gradle进阶说明 3.2 Gradle中的settings.gradle文件说明

【Gradle:新一代构建工具】学习笔记 3 Gradle进阶说明 3.2 Gradle中的settings.gradle文件说明

代码改变世界 1044

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Kotlin DSL 编写 gradle 笔记

Kotlin DSL 编写 gradle 笔记 环境 Android Studio Arctic Fox | 2020.3.1 Patch 2 gradle 7.0.2 jdk 11 1. 根目录 setting.gradle.kts dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) //这里的仓库地址 指的是module中 implementat

u012452490的博客 1563

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

gradle笔记

gradle笔记 一、基础知识 1.1、groovy语言 Groovy适用于Java虚拟机的一种敏捷的动态语言,他是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言,使用该语言不必编写过多的代码,同时又具有闭包和动态语言的其他特性。 1.2、与java的区别 1.2.1 、编译器属性自动添加getter和setter方法 1.2.2 、属性可以直接用点号获取...

weixin_30950237的博客 259

Gradle你会用吗?有幸得到Alibaba内部Gradle实战笔记,趁国庆来狂补

虽然一直在接触 Gradle,但对 Gradle 始终都有一些陌生感,表现在日常的开发中就是不敢随便改 build.gradle 文件,一旦 sync 出错,只会复制错误找谷歌,可是解决方案也不一定能够完美解决自己的问题。还有就是不熟悉 Gradle 的时候,也不能很好的理解整个项目的配置,毕竟 Gradle 是 Android 项目的构建脚本。Gradle 是一个用 Java 语言开发的构建工具。Gradle 用途非常广泛,可以用于 Java 应用或 Java Web 应用等项目进行开发,对于 Andro

m0_57042151的博客 192

gradle学习笔记(六) 官方文档笔记+理解

接着学习笔记(五),这篇文章是官方文档的笔记,和自己的一些理解。

cqn2bd2b的博客 482

gradle笔记241028

Gradle是一个基于JVM的构建工具,它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,并增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。Gradle面向Java应用为主,但也支持C++、Groovy、Kotlin、Scala和Swift等多种语言,并计划未来支持更多的语言。Gradle的核心特点是其灵活性和可扩展性。它允许开发人员根据项目需求自定义构建逻辑和任务,提供了丰富的API和扩展机制,以及一个活跃的插件生态系统。

kfepiza的博客 1128

设置gradle远程仓库_有幸得到Alibaba内部Gradle实战笔记,趁双节来狂补

Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具。它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,目前也增加了基于Kotlin语言的kotlin-based DSL,抛弃了基于XML的各种繁琐配置。Gradle是一个基于JVM的构建工具,是一款通用灵活的构建工具,支持maven, Ivy仓库,支持传递性依赖管理,而不需要远程仓库或者...

weixin_39580715的博客 195

Gradle 笔记

Gradle相关构建的生命周期 //在构建项目前调用的钩子函数gradle.beforeProject{ project -> println "---beforeProject---"}//配置解析前回调gradle.taskGraph.whenReady{ graph -> println ...

阿炳のblog 3664

gradle尚硅谷笔记

3.gradle clean,gradle classes,gradle test,gradle build(包含了clean,classes,test,打成jar包)gradle build -x test(跳过测试)1.springboot要求版本6.8以上,并且idea也有gradle版本要求,idea的plugins gradle记录了需要的版本。8.下载别人的项目或者自己以前不同版本的gradle时,用Gradle Wapper,也就是gradlew,新建项目时用本地gradle。...

YW博客 514

Java项目开发环境构建工具 Gradle 使用笔记(简单、基本)

原文地址:http://yidwo.iteye.com/blog/1848990

1195
上一篇: pandas之Series
下一篇: Gradle 自定义插件
Android_Study_OK
博客等级 码龄11年 91粉丝 128原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值