[Android] SDK 17.2.0 NEW R8/Proguard issue (not in 17.1.1) | Community
Skip to main content
Answered

[Android] SDK 17.2.0 NEW R8/Proguard issue (not in 17.1.1)

  • October 7, 2025
  • 3 replies
  • 249 views

When updating to 

io.intercom.android:intercom-sdk version 17.2.0

If R8/Proguard is enabled the following error occurs on the build:

Missing class lombok.Generated (referenced from: io.ably.lib.network.HttpBody io.ably.lib.network.HttpResponse$HttpResponseBuilder.body and 94 other contexts)

 

This does not happen on version 17.1.1  

It looks like maybe something changed in the build but didn’t include a rule in it’s consumer-rules.pro?  

gemini says: -dontwarn lombok.** may fix it?

Best answer by Sean M

Hi ​@J.T. Seán here from the Intercom engineering support team 👋 how are you doing today?

Thanks for reporting this! You're correct, the Ably library (a dependency) uses Lombok annotations that are compile-time only.
 

Lombok is a Java annotation library that generates code during compilation (like getters, setters, builders, etc.). Once the code is compiled, Lombok's job is done, it's not needed at runtime. The Ably library includes Lombok as a compileOnly dependency, so the annotations are available during build but aren't packaged into the final library.

 

When R8/ProGuard analyses the bytecode, it sees references to lombok.Generated and other Lombok classes, but those classes don't exist in the runtime classpath (because they were intentionally excluded). This triggers the "Missing class" warning.

 

So excluding Lombok from ProGuard/R8 warnings like you have said will resolve this.

3 replies

Forum|alt.badge.img+4
  • Intercom Team
  • Answer
  • October 14, 2025

Hi ​@J.T. Seán here from the Intercom engineering support team 👋 how are you doing today?

Thanks for reporting this! You're correct, the Ably library (a dependency) uses Lombok annotations that are compile-time only.
 

Lombok is a Java annotation library that generates code during compilation (like getters, setters, builders, etc.). Once the code is compiled, Lombok's job is done, it's not needed at runtime. The Ably library includes Lombok as a compileOnly dependency, so the annotations are available during build but aren't packaged into the final library.

 

When R8/ProGuard analyses the bytecode, it sees references to lombok.Generated and other Lombok classes, but those classes don't exist in the runtime classpath (because they were intentionally excluded). This triggers the "Missing class" warning.

 

So excluding Lombok from ProGuard/R8 warnings like you have said will resolve this.


  • Author
  • New Participant
  • October 14, 2025

So would it make sense for you add that to Intercom’s consumer-rules.pro for the library so end users don’t run into this?   


Forum|alt.badge.img+4
  • Intercom Team
  • November 17, 2025

Hi ​@J.T. , thanks for this this, this should have been added in the latest version of the SDK to prevent these crashes!