After some more investigation I don’t think the issue is proguard.
I am using the following:
transitive = true
Also please take note that my app is a radio streaming app and I am using ExoPlayer was the audio player.
I am using v1.5.6 of the ExoPlayer. It seems that the same version of ExoPlayer is also being used by the MoPub sdk. Which is good
If you look closely though the Warning says the following:
com.mopub.nativeads.NativeVideoController: can’t find referenced method ‘MediaCodecVideoTrackRenderer(com.google.android.exoplayer.SampleSource,int,long,android.os.Handler,com.google.android.exoplayer.MediaCodecVideoTrackRenderer$EventListener,int)’
There is no constructor that looks like this. The MoPub NativeVideoController is referencing this method, but it does not exist. If I navigate to the NativeVideoController class at line 420 there is the following:
mVideoTrackRenderer = new MediaCodecVideoTrackRenderer(
0, mHandler, null, 10);
Android Studio is showing an error saying that that constructor does not exist. All the constructors in the MediaCodecVideoTrackRenderer take Context as the first parameter. I don’t actually know how this code was compiled because it is a compile time error.
On another note, the line right after that:
mAudioTrackRenderer = new MediaCodecAudioTrackRenderer(sampleSource);
The same issue is prevalent here. MediaCodecAudioTrackRenderer has to take Context as the first parameter.
If I am barking up the wrong tree and there is no issue here please let me know what I have been doing wrong, but this really does not make any sense to me.