Skip to content

Paparazzi crashing on compileSdk 36 (Android 16 Baklava) #1877

@bardss

Description

@bardss

Description
We are migrating our app to the newest compileSdk 36.
Android 16 got a Beta 3 release last week (13th March). The first release that reached platform stability and was not released as a preview.
https://developer.android.com/about/versions/16/release-notes
https://developer.android.com/about/versions/16

After setting compileSdk to 36 our screenshot tests are failing.

There are two different types of crashes/stacktraces that I can share:
1‍⃣ :

java.util.NoSuchElementException: Array contains no element matching the predicate.
	at app.cash.paparazzi.internal.Renderer.configureBuildProperties(Renderer.kt:213)
	at app.cash.paparazzi.internal.Renderer.prepare(Renderer.kt:108)
	at app.cash.paparazzi.PaparazziSdk.prepare(PaparazziSdk.kt:128)
	at app.cash.paparazzi.Paparazzi.prepare(Paparazzi.kt:89)
	at app.cash.paparazzi.Paparazzi$apply$1.evaluate(Paparazzi.kt:77)
	at com.google.testing.junit.testparameterinjector.PluggableTestRunner$ContextMethodRule$1.evaluate(PluggableTestRunner.java:414)

2‍⃣ :

kotlin.UninitializedPropertyAccessException: lateinit property sessionParamsBuilder has not been initialized
	at app.cash.paparazzi.PaparazziSdk$Companion.getSessionParamsBuilder$paparazzi(PaparazziSdk.kt:596)
	at app.cash.paparazzi.PaparazziSdk.prepare(PaparazziSdk.kt:132)
	at app.cash.paparazzi.Paparazzi.prepare(Paparazzi.kt:89)
	at app.cash.paparazzi.Paparazzi$apply$1.evaluate(Paparazzi.kt:77)
	at com.google.testing.junit.testparameterinjector.PluggableTestRunner$ContextMethodRule$1.evaluate(PluggableTestRunner.java:414)

The run always starts with the 1‍⃣ crash and all the next follow along with 2‍⃣.
Looks like Renderer.kt in configureBuildProperties is trying to get the code through reflection that is not available in Android 16.

Steps to Reproduce
Update the compileSdk to 36 and run the tests.

Expected behavior
Tests not crashing.

Additional information:

  • Paparazzi Version: 1.3.5
  • OS: Android 16
  • Compile SDK: 36
  • Gradle Version: 8.12.1
  • Android Gradle Plugin Version: 8.9.0

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions