Successfully modified file: /home/Messier82/projects/service-book/app/build.gradle.kts (1 replacements). Here is the updated code: ... val getArgsMethod = testData.javaClass.getMethod("getInstrumentationRunnerArguments") @Suppress("UNCHECKED_CAST") val argsProperty = getArgsMethod.invoke(testData) as org.gradle.api.provider.MapProperty // Use set(provider) to ensure that the arguments are evaluated specifically for this task instance. // This prevents aliasing/merging issues when AGP shares the underlying property object across tasks. val taskName = name argsProperty.set( provider { val map = mutableMapOf() when { taskName.contains("phonePixel6api34", ignoreCase = true) -> { map["package"] = screenshotTestPackage map["additionalTestOutputDir"] = screenshotDeviceOutputDir } taskName.contains("tablet7Nexus7api34", ignoreCase = true) -> { map["package"] = screenshotTestPackage map["additionalTestOutputDir"] = screenshotDeviceOutputDir } taskName.contains("tablet10PixelTabletApi34", ignoreCase = true) -> { map["package"] = screenshotTestPackage map["additionalTestOutputDir"] = screenshotDeviceOutputDir } taskName.contains("pixel2api33", ignoreCase = true) -> { map["notPackage"] = screenshotTestPackage map["additionalTestOutputDir"] = smokeDeviceOutputDir } } map }, ) ...