Accessing GradleBuildProject.Builder through AnalyticsConfiguratorService is not allowed

背景
环境
Android Studio Electric Eel | 2022.1.1 Patch 2
Runtime version: 11.0.15+0-b2043.56-8887301 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
gradle 7.5
android gradle plugin 7.4.2

在Android 项目中,打印依赖信息,出现问题。

gradlew :app:dependencies

A problem occurred evaluating project ':lib_base'.
> Failed to apply plugin 'com.android.internal.library'.
   > Accessing GradleBuildProject.Builder through AnalyticsConfiguratorService is not allowed after AnalyticsService is created.

当前这个Module是一个lib,也是配置的plugin是:com.android.library,看着是没有问题的,怎么都找不到问题,看意思就是这个任务创建失败了。

解决方案
方案1
在项目中的gradle.property看看有没有:org.gradle.configureondemand,如果是存在,可能是之前因为使用到gradle优化的,可以使用第二个方案,不修改这个值,在执行命令的时候传入。

org.gradle.configureondemand = false

方案2

// 直接在命令中添加参数
gradlew :app:dependencies  -Dorg.gradle.configureondemand=false > dep.txt

解释
官方 gradle 文档说明:
org.gradle.configureondemand=(true,false)
启用按需孵化配置,其中 Gradle 将尝试仅配置必要的项目。
默认为false。

org.gradle.configureondemand
作用说明:
一次 Gradle 编译大概由这几部分组成:初始化、加载 setting.gradle(|| setting.gradle.kts)、加载各个模块的 build.gradle(|| build.gradle.kts)、执行一系列任务。从上图中可以看到,Configuring Projects 也是花了 5s 左右的时间,使用 org.gradle.configureondemand=true 可以加速这一过程。

引用
gradle 环境变量configureondemand
Android Gradle 构建优化

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值