
1. When we try and load something via reflection and find the class, always throw rather than failing silently if we subsequently fail to instantiate an instance. This is indicative of a broken proguard setup, and failing silently makes it hard to spot. 2. Add library/core proguard configuration to ensure extension renderer constructors that we access via reflection are kept. 3. Add demos/main proguard configuration to ensure ImaAdsLoader constructor that we access via reflection is kept. 4. Added IMA proguard file to hopefully fix #3723, although I wasn't actually able to reproduce the issue. Issue: #3723 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=183648187
26 lines
1.3 KiB
Plaintext
26 lines
1.3 KiB
Plaintext
# Proguard rules specific to the core module.
|
|
|
|
# Constructors accessed via reflection in DefaultRenderersFactory
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.vp9.LibvpxVideoRenderer {
|
|
<init>(boolean, long, android.os.Handler, com.google.android.exoplayer2.video.VideoRendererEventListener, int);
|
|
}
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.opus.LibopusAudioRenderer {
|
|
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioProcessor[]);
|
|
}
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.flac.LibflacAudioRenderer {
|
|
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioProcessor[]);
|
|
}
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.ffmpeg.FfmpegAudioRenderer {
|
|
<init>(android.os.Handler, com.google.android.exoplayer2.audio.AudioRendererEventListener, com.google.android.exoplayer2.audio.AudioProcessor[]);
|
|
}
|
|
|
|
# Constructors accessed via reflection in DefaultExtractorsFactory
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.flac.FlacExtractor {
|
|
<init>();
|
|
}
|
|
|
|
# Constructors accessed via reflection in DefaultDataSource
|
|
-keepclassmembers class com.google.android.exoplayer2.ext.rtmp.RtmpDataSource {
|
|
<init>();
|
|
}
|