@@ -11,6 +11,7 @@ import de.mannodermaus.gradle.plugins.junit5.dsl.AndroidJUnitPlatformExtension
1111import de.mannodermaus.gradle.plugins.junit5.internal.config.ANDROID_JUNIT5_RUNNER_BUILDER_CLASS
1212import de.mannodermaus.gradle.plugins.junit5.internal.config.JUnit5TaskConfig
1313import de.mannodermaus.gradle.plugins.junit5.internal.config.PluginConfig
14+ import de.mannodermaus.gradle.plugins.junit5.internal.extensions.android
1415import de.mannodermaus.gradle.plugins.junit5.internal.extensions.getAsList
1516import de.mannodermaus.gradle.plugins.junit5.internal.extensions.getTaskName
1617import de.mannodermaus.gradle.plugins.junit5.internal.extensions.junit5Warn
@@ -32,7 +33,7 @@ internal fun configureJUnit5(
3233
3334 config.finalizeDsl { android ->
3435 prepareBuildTypeDsl(android)
35- prepareUnitTests(android)
36+ prepareUnitTests(project, android)
3637 prepareInstrumentationTests(project, android)
3738 }
3839
@@ -88,10 +89,21 @@ private fun AndroidJUnitPlatformExtension.prepareVariantDsl(variant: Variant) {
8889 }
8990}
9091
91- private fun AndroidJUnitPlatformExtension. prepareUnitTests (android : AndroidExtension ) {
92+ private fun prepareUnitTests (project : Project , android : AndroidExtension ) {
9293 // Add default ignore rules for JUnit 5 metadata files to the packaging options of the plugin,
9394 // so that consumers don't need to do this explicitly
94- android.packagingOptions.resources.excludes.addAll(excludedPackagingOptions())
95+ val options = excludedPackagingOptions()
96+
97+ try {
98+ android.packagingOptions.resources.excludes.addAll(options)
99+ } catch (e: NoSuchMethodError ) {
100+ // TODO Because of https://issuetracker.google.com/issues/263387063,
101+ // there is a breaking API change in AGP 8.x that causes a NoSuchMethodError
102+ // (renaming PackagingOptions to Packaging without any fallback).
103+ // Fall back to the old DSL when this happens
104+ @Suppress(" DEPRECATION" )
105+ options.forEach(project.android.packagingOptions::exclude)
106+ }
95107}
96108
97109private fun AndroidJUnitPlatformExtension.prepareInstrumentationTests (project : Project , android : AndroidExtension ) {
0 commit comments