Hey! We updated our Intercom Android SDK and noticed that since version 15.5.1 (the one that uses Media3, Release notes), our minifyReleaseWithR8 Gradle task fails. In 15.5.0 it still worked.
The error output is:
Missing classes detected while running R8.
missing_rules.txt contains this:
# Please add these rules to your existing keep rules in order to suppress warnings.
# This is generated automatically by the Android Gradle plugin.
-dontwarn com.google.android.exoplayer2.ExoPlayerLibraryInfo
-dontwarn com.google.android.exoplayer2.ParserException
-dontwarn com.google.android.exoplayer2.decoder.DecoderException
-dontwarn com.google.android.exoplayer2.extractor.ExtractorInput
-dontwarn com.google.android.exoplayer2.extractor.FlacStreamMetadata
-dontwarn com.google.android.exoplayer2.extractor.SeekMap$SeekPoints
-dontwarn com.google.android.exoplayer2.extractor.SeekPoint
-dontwarn com.google.android.exoplayer2.util.LibraryLoader
-dontwarn com.google.android.exoplayer2.util.Util
We use the newest media3 dependency 1.5.1. But even with the newest Intercom Android SDK 15.14.0 the issue persists.
The error clearly indicates that Intercom uses either in its direct source code or in one of its transient dependencies the exoplayer SDK located under com.google.android.exoplayer2. However, the Media3 dependency moved these classes to a new class path , which is androidx.media3.exoplayer. (migration guide from Google)
Adding above proguard ignore rules allows our R8 task to finish, however, Intercom will lead to runtime exceptions when trying to invoke above classes.
Could you please advise how to either resolve the issue on our side, or could you fix the SDK?