You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加Baseline Profile后构建失败:experimentalProperties属性无法修改

多模块Android项目添加Baseline Profile后构建失败:experimentalProperties属性不可修改异常

在多模块Android项目中集成Baseline Profile后,构建过程抛出以下异常:

java.lang.IllegalStateException: The value for property 'experimentalProperties' is final and cannot be changed any further

项目配置详情

  • AGP版本:com.android.tools.build:gradle:8.7.2
  • Baseline Profile插件:id 'androidx.baselineprofile' version '1.3.3' apply false
  • Gradle版本:8.9

完整报错堆栈

Caused by: java.lang.IllegalStateException: The value for property 'experimentalProperties' is final and cannot be changed any further.
    at org.gradle.api.internal.provider.ValueState$FinalizedValue.beforeMutate(ValueState.java:363)
    at org.gradle.api.internal.provider.AbstractProperty.assertCanMutate(AbstractProperty.java:371)
    at org.gradle.api.internal.provider.DefaultMapProperty.addExplicitCollector(DefaultMapProperty.java:226)
    at org.gradle.api.internal.provider.DefaultMapProperty.access$600(DefaultMapProperty.java:59)
    at org.gradle.api.internal.provider.DefaultMapProperty$Configurer.addCollector(DefaultMapProperty.java:710)
    at org.gradle.api.internal.provider.DefaultMapProperty$Configurer.put(DefaultMapProperty.java:716)
    at org.gradle.api.internal.provider.DefaultMapProperty.put(DefaultMapProperty.java:187)
    at androidx.baselineprofile.gradle.consumer.BaselineProfileConsumerAgpPlugin.onVariants(BaselineProfileConsumerPlugin.kt:207)
    at androidx.baselineprofile.gradle.utils.AgpPlugin$configureWithAndroidPlugin$4$3.invoke(AgpPlugin.kt:176)
    at androidx.baselineprofile.gradle.utils.AgpPlugin$configureWithAndroidPlugin$4$3.invoke(AgpPlugin.kt:174)
    at com.android.build.api.extension.impl.AndroidComponentsExtensionImpl$onVariants$1.execute(AndroidComponentsExtensionImpl.kt:75)
    at com.android.build.api.extension.impl.AndroidComponentsExtensionImpl$onVariants$1.execute(AndroidComponentsExtensionImpl.kt:74)
    at com.android.build.api.extension.impl.OperationsRegistrar.executeOperations(OperationsRegistrar.kt:60)
    at com.android.build.gradle.internal.VariantManager$createVariantsFromCombination$8.invoke(VariantManager.kt:978)
    at com.android.build.gradle.internal.VariantManager$createVariantsFromCombination$8.invoke(VariantManager.kt:975)
    at com.android.build.gradle.internal.VariantManager.computeVariants(VariantManager.kt:239)
    at com.android.build.gradle.internal.VariantManager.createVariants(VariantManager.kt:189)
    at com.android.build.gradle.internal.plugins.BasePlugin.createAndroidTasks(BasePlugin.kt:715)
    at com.android.build.gradle.internal.plugins.BasePlugin$createTasks$2$1.call(BasePlugin.kt:599)
    at com.android.build.gradle.internal.profile.NoOpAnalyticsConfiguratorService.recordBlock(NoOpAnalyticsConfiguratorService.kt:57)
    at com.android.build.gradle.internal.plugins.BasePlugin$createTasks$2.accept(BasePlugin.kt:594)
    at com.android.build.gradle.internal.plugins.BasePlugin$createTasks$2.accept(BasePlugin.kt:591)
    at com.android.build.gradle.internal.crash.CrashReporting$afterEvaluate$1.execute(crash_reporting.kt:37)
    at com.android.build.gradle.internal.crash.CrashReporting$afterEvaluate$1.execute(crash_reporting.kt:35)
    at org.gradle.internal.code.DefaultUserCodeApplicationContext$CurrentApplication$1.execute(DefaultUserCodeApplicationContext.java:124)
    at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingAction$1.run(DefaultListenerBuildOperationDecorator.java:173)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
    at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:166)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
    at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
    at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingAction.execute(DefaultListenerBuildOperationDecorator.java:170)
    at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:99)
    at org.gradle.internal.event.BroadcastDispatch$ActionInvocationHandler.dispatch(BroadcastDispatch.java:87)
    at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:44)
    at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:268)
    at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:170)
    at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:84)
    at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:70)
    at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:380)
    at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:272)
    at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:148)
    at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:37)
    at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:92)
    at jdk.proxy1/jdk.proxy1.$Proxy60.afterEvaluate(Unknown Source)
    at org.gradle.configuration.project.LifecycleProjectEvaluator$NotifyAfterEvaluate$1.execute(LifecycleProjectEvaluator.java:247)
    at org.gradle.configuration.project.LifecycleProjectEvaluator$NotifyAfterEvaluate$1.execute(LifecycleProjectEvaluator.java:244)
    at org.gradle.api.internal.project.DefaultProject.stepEvaluationListener(DefaultProject.java:1459)
    at org.gradle.configuration.project.LifecycleProjectEvaluator$NotifyAfterEvaluate.run(LifecycleProjectEvaluator.java:253)
    ... 146 more

问题原因

该异常是由于Baseline Profile 1.3.3版本未适配AGP 8.7.x与Gradle 8.9的组合,插件在项目评估后期尝试修改已被锁定为final的experimentalProperties属性,触发了Gradle的属性不可修改校验。

解决方案

1. 升级Baseline Profile插件版本

将Baseline Profile插件升级到1.4.0及以上版本,该版本已修复此兼容性问题。修改项目根目录的settings.gradle或build.gradle中的插件声明:

id 'androidx.baselineprofile' version '1.4.0' apply false

2. 确认插件应用顺序

在模块的build.gradle中,确保Baseline Profile插件在Android插件之后应用,避免在错误阶段触发属性修改:

plugins {
    id 'com.android.application' // 或 com.android.library
    id 'androidx.baselineprofile'
}

3. 验证版本组合兼容性

如果升级插件后问题仍存在,可以尝试调整AGP或Gradle版本,保持三者版本的兼容性:

  • 将AGP升级到8.8.x版本
  • 或将Gradle版本调整为8.8版本

内容的提问来源于stack exchange,提问作者Arka Prava Basu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 02:15:01