4.0.3-4.0.4 设备上的奇数 java.lang.verifyerror

Odd java.lang.verifyerror on 4.0.3-4.0.4 devices

几天来我一直在调查这个错误,但没有任何运气。我没有在自己的代码中使用 exoplayer,而是使用 Facebook 受众广告。不知道能不能用。无论如何,应用程序似乎在初始化时崩溃了。有人能猜出为什么会这样吗?

java.lang.VerifyError: com/google/android/exoplayer/MediaCodecUtil$ˎ
at com.my.package.name.onCreate(:4161)
at android.app.Activity.performCreate(Activity.java:4531)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1071)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2150)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2229)
at android.app.ActivityThread.access0(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1261)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:4945)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)

干杯。

正如@dmarin 所建议的那样。 Exoplayer 仅适用于 api level >= 16。我使用 Facebook 受众网络进行货币化,他们在他的文档中说我应该使用 api level 15。所以,他们在这里错了.

正如在我的应用程序中 gradew 转储的依赖关系树中所见:

com.facebook.android:audience-network-sdk:4.15.0
|    +--- com.google.android.gms:play-services-ads:8.4.0
|    |    \--- com.google.android.gms:play-services-basement:8.4.0
|    |         \--- com.android.support:support-v4:23.0.0 -> 24.2.0 (*)
|    +--- com.android.support:appcompat-v7:23.1.0 -> 24.2.0 (*)
|    +--- com.android.support:recyclerview-v7:23.1.0
|    |    +--- com.android.support:support-annotations:23.1.0 -> 24.2.0
|    |    \--- com.android.support:support-v4:23.1.0 -> 24.2.0 (*)
|    \--- com.google.android.exoplayer:exoplayer:r1.5.8

FAN 将其用于其目的,因此,如果您此时使用此货币化解决方案,并且您不希望使用 4.03-4.04 的人崩溃。

干杯