首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用新 Android Gradle 插件加速您的应用构建

非传递性 R 类 启用非传递性 R 类 (non-transitive R-class) 后,您应用中的 R 类将只会包含在子项目中声明的资源,依赖中的资源会被排除在外。...这样一来,子项目中的 R 类大小将会显著减少。 这一改动可以您向运行时依赖中添加新资源,避免重新编译下游模块。在这种场景下,可以给您的应用带来 40% 的性能提升。...这种方法还可以必要帮助您修改相关源代码。目前,AndroidX 库已经启用此特性,因此 AAR 阶段的产物中将不再包含来自传递性依赖的资源。...我们启用配置缓存的情况下执行这个构建任务,会出现两个与配置缓存相关的问题: △ 配置缓存报告的内容 当您的构建任务与配置缓存不兼容Gradle 会生成一个包含了问题列表和详细信息的 HTML 文件...请您持续关注我们的进展,也欢迎您遇到问题与我们沟通。 欢迎您 点击这里 向我们提交反馈,或分享您喜欢的内容、发现的问题。您的反馈对我们非常重要,感谢您的支持!

2.6K30
您找到你想要的搜索结果了吗?
是的
没有找到

Gradle 5.0 正式版发布

这是一个免费的服务,主要提供给Gradle用户需要添加扫描使用,命令行上执行Gradle或应用和配置即可构建扫描。...5.0使用Maven构建生成的依赖提供了更无缝的体验。...使用POM文件Gradle将正确地分离编译和运行时范围。这可以有效的避免由于以前在编译类路径中包含运行时依赖而导致的性能下降和依赖泄漏问题。 Gradle现在也可以用在元素中。...避免冗余配置 有些项目执行过程中会产生很多的任务,当只执行一些操作配置所有这些操作是没有意义的。这就是Gradle 5.0的新配置避免api的神奇之处。...Gradle 5.0为嵌套DSL元素提供了一流的api,考虑用户如何配置任务提供了更大的灵活性。 Gradle 5.0为计算(或延迟)任务输入和输出提供了额外的API便利。

2.3K30

Gradle 5.0 正式版发布

这是一个免费的服务,主要提供给Gradle用户需要添加扫描使用,命令行上执行Gradle或应用和配置即可构建扫描。...5.0使用Maven构建生成的依赖提供了更无缝的体验。...使用POM文件Gradle将正确地分离编译和运行时范围。这可以有效的避免由于以前在编译类路径中包含运行时依赖而导致的性能下降和依赖泄漏问题。 Gradle现在也可以用在元素中。...避免冗余配置 有些项目执行过程中会产生很多的任务,当只执行一些操作配置所有这些操作是没有意义的。这就是Gradle 5.0的新配置避免api的神奇之处。...Gradle 5.0为嵌套DSL元素提供了一流的api,考虑用户如何配置任务提供了更大的灵活性。 Gradle 5.0为计算(或延迟)任务输入和输出提供了额外的API便利。

1.6K20

Gradle Kotlin DSL指南

可以依赖声明和configurations{}块中为配置名使用字符串字面量。 在这种情况下,IDE无法帮助你发现可用的配置,但你可以相应的插件文档或运行gradle依赖中查找它们。...一起配置多个容器元素 配置容器的几个元素,可以将交互分组到一个块中,以避免每次交互中重复容器的名称。...将Kotlin -stdlib-jdk8, Kotlin -reflect和gradleKotlinDsl()依赖添加到compileOnly和testplementation配置中,这允许你Kotlin...随着语言的成熟,这将不再是一个问题 Kotlin的编译器参数 这些是一个应用了Kotlin – DSL插件的项目中编译Kotlin DSL脚本和Kotlin源代码和脚本使用的Kotlin编译器参数:...>接受方法调用 使用Groovy脚本 当处理有问题的插件,另一种选择是Groovy DSL构建脚本中配置它们,该脚本应用于主要的Kotlin DSL构建脚本: 使用Groovy脚本 build.gradle.kts

9.9K20

android studio与eclipse_androidstudio源码网

就可以自动下载,最新的android studio会帮你解决很多谷歌的资源无法访问的问题,应该是内部做了很多的代理设置,以前用eclipse都是需要设置一个代理/镜像网址才行的. 3.第3个问题:如果你项目中引用了...so文件的话,自动生成android studio项目,运行会报错,如下的错误,一般都是由于你的android studio的build.gradle中没有引用这个libs下armeabi的so文件,你需要增加如下代码...build.gradle: 4.第三步之后,项目可以正常在手机上运行了,不过接下来想发布release版本,就遇到问题了,以前eclipse打签名包,很简单引入keystore文件就可以了...', 这样重启sync工程,神奇般的可以打release包了,贴一下我的配置文件: (1)build.gradle buildscript { ext.kotlin_version...ImmutableJarInput{name=android.local.jars:android-support-v4.jar 各种谷歌百度搜索,就是找不到答案,后来发现一个坑是我以前的eclipse的项目中

1.1K30

干货 | 实现一个属于你的“语言”-携程Kotlin DSL开发与实践

上面给出的伪代码消除了重复的模版代码,减少代码冗余,同时也做到自由选择配置,有一定的自由度和可扩展性。...groovy往往需要配合文档进行编写;而kotlin是一种静态语言,使用它编写gradle脚本则可以有比较好的智能提示体验。...Gradle5.0中,官方提供可以选择目中生成Groovy或者kotlin DSL构建脚本,并进一步的优化代码自动完成、重构和其他 IDE 辅助功能,为使用Kotlin DSL的 IDE 用户带来了极大的便利...可见gradle官方也努力将kotlin DSL推向大家视野中。...答案是“否”,因为它目前存在一个致命的缺陷,首次编译项目比groovy DSL慢很多,大项目中这一点会被放大,所以大家在上手之前需要慎重权衡利弊。

1.6K10

《Kotin 极简教程》第16章 使用 Kotlin Native第16章 使用 Kotlin Native《Kotlin极简教程》正式上架:

task before execution> } // TODO: add configuration for konan compiler } 我们简要说明如下表所示 配置...任务参数选项配置 其中,kotlinor.def 是Kotlin Native 与 C 语言互操作的配置文件,我们kotlinor.def 里面配置 C 源码到 kotlin 的映射关系。...16.2.9 完整的 build.gradle 配置 完整的 build.gradle 配置文件内容如下 group 'com.easy.kotlin' version '1.0-SNAPSHOT'...16.2.11 配置 konan 编译器主目录 最后,执行 Gradle 构建之前,我们还需要指定konan 编译器主目录。...我们工程根目录下面新建 gradle.properties 这个属性配置文件,内容如下 konan.home=/Users/jack/soft/kotlin-native-macos-0.3 16.2.12

1.2K30

Android Gradle系列-进阶篇

通过这种方式能够达到不同module中的配置统一,但局限性是,一但配置过多,所有的配置都将写到rootProject项目的build.gradle中,导致build.gradle臃肿。...作用接下来我们需要做的是将ext配置单独放到一个gradle脚本文件中。 首先我们rootProject目录下创建一个gradle脚本文件,我这里取名为version.gradle。...Gradle项目会默认识别buildSrc目录,并且会将该目录中的配置注入到build.gradle中,以至于让build.gradle能够直接引用buildSrc中的配置。...首先在根目录新建一个buildSrc目录(与app同级),然后该目录新建src/main/java目录,该目录是你之后配置所在的目录;同时再新建build.gradle.kts文件,并在该文件中添加...搭建好了目录,现在我们src/main/java下使用kotlin新建Dependencies文件(文件名任意),该文件中将之前的配置放进来,只是使用kotlin语法进行实现而已,转化的代码如下

1.4K20

Gradle 构建工具 #5 又冲突了!如何理解依赖冲突与版本决议?

例如,大型软件项目中,往往是多个团队(或多名同学)协同开发不同模块,例如 A 模块依赖 B 模块,两个模块并行开发。... Gradle 生命周期的配置阶段,Gradle 会解析组件之间的依赖关系。...这就是 Gradle 的依赖传递,很容易理解吧。 2.2 什么是依赖依赖冲突? 大型项目中,当工程中的依赖关系增多就很容易会遇到依赖冲突问题,想必各位在工作中也遇到过各种各样的依赖冲突问题。...一个误区: 需要避免混淆的是, Gradle 中使用 Maven 仓库,并不会左右 Gradle 的冲突解决策略,这里的 Maven 仓库仅用于提供依赖,而依赖管理依然是 Gradle 的框架内运行的...虽然 Gradle 平台层提供了一套依赖解析决议机制,但 Gradle 版本决议的默认规则是选择的最高版本,最高版本不一定与项目兼容,所以开发者有时候要使用版本决议规则 API 来配置和干预 Gradle

51730

Kotlin 1.4-M1 现已发布!

build.gradle.kts 文件中的目标块内,现已支持 produceExecutable(),如果您想要在构建生成 .js 工件,则必须使用它: 如果您要编写 Kotlin/JS 库,可以忽略...会在 build/libs 文件夹中生成一个 klib 文件,此文件可以在其他 Kotlin/JS 项目中使用,或在同一目中用作依赖。...配置为使用 produceExecutable() 的项目中,对于使用 @JsExport(参见上文)标记的顶级声明,将生成包含 TypeScript 定义的 .d.ts 文件。...同一个 Maven 坐标下发布Gradle 会根据用例自动选择正确的工件:为旧编译器选择 js,为新编译器选择 klib。...如果您想处理安装该预览版之前创建的现有项目,则需要在 Gradle 或 Maven 中针对预览版配置您的构建。 您可以从 Github 发布页面下载命令行编译器。

3.4K20

Gradle 与 AGP 构建 API: 配置您的构建文件

多项目层级结构中,根项目中会包含一个 settings.gradle 文件,其中列出了构建中包含的其他项目。Android 使用多项目构建来帮您模块化应用。...典型的 Android 项目会包含一个顶层 Gradle 构建文件。Android 项目中的每个模块又分别有一个 Gradle 构建文件。示例项目中,我仅有一个应用模块。...由于我需要使用 Kotlin,所以示例中也应用了 kotlin.android 插件。...提供了它自己的 DSL,您可以用它配置 AGP,并使该配置构建应用于 Task。... Configuration (配置) 阶段,Gradle 会评估构建项目中包含的所有构建脚本,随后应用插件、使用 DSL 配置构建,并在最后注册 Task,同时惰性注册它们的输入。

1.6K20

Gradle Authoring Tasks

使用 doLast ,您只需使用一个快捷方式来定义一个操作。 任务的配置部分中定义的代码将在构建的配置阶段执行,而不管任务的目标是什么。 有关构建生命周期的更多细节,请参见构建生命周期。...Adding dependencies to a task 向任务添加依赖 有几种方法可以定义任务的依赖关系。 “任务依赖”中,介绍了如何使用任务名称定义依赖。...任务名称可以引用与任务相同的项目中的任务,也可以引用其他项目中的任务。 若要引用另一个项目中的任务,请在任务名称前面加上它所属项目的路径作为前缀。...计算,块将传递正在计算其依赖关系的任务。 惰性块应该返回单个 Task 或 Task 对象的集合,然后将其视为任务的依赖。...而且编译可能会花费大量的时间,因此不需要跳过这一步可以节省大量的时间。 Gradle 通过一个称为增量构建的特性支持这种开箱即用的行为。

78810

IDEA 2022.1 重磅发布!这次不追了

关键更新 依赖分析器 (Dependency Analyzer) 为了促进依赖管理和冲突解决,IntelliJ IDEA 实现了依赖分析器,它提供项目和子项目中使用的所有依赖(包括传递性依赖)的广泛信息...这个新功能允许轻松检测冲突的依赖关系并解决问题,比如可以过滤掉相同的依赖,并查看它们不同库中的存在,还可以快速浏览依赖,以正确构建配置。 ...安全 包检查器插件 ntelliJ IDEA 2022.1 现在可以通过检查 Checkmarx SCA 数据库和国家漏洞数据库,来检测项目中使用的 Maven 和 Gradle 依赖中的漏洞。...gRPC 反射支持 当项目中存在描述 gRPC 服务的 .proto 文件,IntelliJ IDEA Ultimate 现在为服务名称、方法名称和请求正文选项提供代码补全。...构建工具 更新 Gradle 的进度条 为 Gradle 进程实现了一个确定的进度条,例如下载依赖和导入工件,允许跟踪文件发生的情况并估计该过程何时完成。

2.5K20

IDEA 2022.1 重磅发布!追不动了~

关键更新 依赖分析器 (Dependency Analyzer) 为了促进依赖管理和冲突解决,IntelliJ IDEA 实现了依赖分析器,它提供项目和子项目中使用的所有依赖(包括传递性依赖)的广泛信息...这个新功能允许轻松检测冲突的依赖关系并解决问题,比如可以过滤掉相同的依赖,并查看它们不同库中的存在,还可以快速浏览依赖,以正确构建配置。...安全 包检查器插件 ntelliJ IDEA 2022.1 现在可以通过检查 Checkmarx SCA 数据库和国家漏洞数据库,来检测项目中使用的 Maven 和 Gradle 依赖中的漏洞。...gRPC 反射支持 当项目中存在描述 gRPC 服务的 .proto 文件,IntelliJ IDEA Ultimate 现在为服务名称、方法名称和请求正文选项提供代码补全。...构建工具 更新 Gradle 的进度条 为 Gradle 进程实现了一个确定的进度条,例如下载依赖和导入工件,允许跟踪文件发生的情况并估计该过程何时完成。

2.5K20

将构建配置从 Groovy 迁移到 KTS

KTS:是指 Kotlin 脚本,这是 Gradle 构建配置文件中使用的一种 Kotlin 语言形式。Kotlin 脚本是可从命令行运行的 Kotlin 代码。...Groovy 允许调用函数省略括号,而 Kotlin 总是需要括号。 Gradle Groovy DSL 允许分配属性省略 = 赋值运算符,而 Kotlin 始终需要赋值运算符。...一次迁移一个文件 由于您可以目中结合使用 Groovy build 文件和 KTS build 文件,因此将项目转换为 KTS 的一个简单方法是先选择一个简单的 build 文件(例如 settings.gradle...如果插件来自插件门户中不存在的 buildScript 依赖,那么这些插件 Kotlin 中就必须使用 apply 才能应用。...gradle.properties 我们通常会把签名信息、版本信息等配置写在gradle.properties中,kotlin-dsl中我们可以通过一下方式访问: rootProject.extra.properties

3.4K00
领券