Xamarin绑定错误:java.lang.NoSuchMethodError:没有虚拟方法build()Lcom/go



我为Triton Digital Mobile SDK创建了一个绑定库,并将其集成在我的Xamarin.Android项目中。

我已经将此代码添加到我的项目中,以测试绑定库

using Com.Tritondigital.Player;
namespace MyProject.Droid.Services
{
public class AudioSource : Service, AudioManager.IOnAudioFocusChangeListener
{
.
.
.
public void Play()
{
Bundle settings = new Bundle();
settings.PutString(TritonPlayer.SettingsStreamUrl, "http://storage.googleapis.com/automotive-media/Jazz_In_Paris.mp3");
// Create the player.
TritonPlayer player = new TritonPlayer(this, settings);
player.Play();
}
.
.
.
}
}

但在运行时,它会抛出致命异常

[TdStreamPlayer] SETTINGS_STREAM_MIME_TYPE not set. Deduced from URL: audio/mpeg
[TdStreamPlayer] SETTINGS_TRANSPORT not set. Deduced from URL: sc
[TdTritonPlayer] State changed: Stopped -> Connecting
[TdExoPlayerBkg] ExoPlayer URL: http://storage.googleapis.com/automotive-media/Jazz_In_Paris.mp3
[TdExoPlayerBkg] ExoPlayer buffer start: 2500 rebuffer: 8000 timeout: 15000
[AndroidRuntime] Shutting down VM
[AndroidRuntime] FATAL EXCEPTION: main
[AndroidRuntime] Process: com.company.myapp, PID: 8630
[AndroidRuntime] java.lang.NoSuchMethodError: No virtual method build()Lcom/google/android/exoplayer2/DefaultLoadControl; in class Lcom/google/android/exoplayer2/DefaultLoadControl$Builder; or its super classes (declaration of 'com.google.android.exoplayer2.DefaultLoadControl$Builder' appears in /data/app/com.company.myapp-bJibtmPeizHK0sfcwRqrpA==/base.apk)
[AndroidRuntime]    at com.tritondigital.player.TdExoPlayer$PlayerHandler.b(SourceFile:97)
[AndroidRuntime]    at com.tritondigital.player.TdExoPlayer$PlayerHandler.handleMessage(SourceFile:66)
[AndroidRuntime]    at android.os.Handler.dispatchMessage(Handler.java:106)
[AndroidRuntime]    at android.os.Looper.loop(Looper.java:193)
[AndroidRuntime]    at android.app.ActivityThread.main(ActivityThread.java:6669)
[AndroidRuntime]    at java.lang.reflect.Method.invoke(Native Method)
[AndroidRuntime]    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
[AndroidRuntime]    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
[MonoDroid] UNHANDLED EXCEPTION:
[MonoDroid] Java.Lang.IncompatibleClassChangeError: No virtual method build()Lcom/google/android/exoplayer2/DefaultLoadControl; in class Lcom/google/android/exoplayer2/DefaultLoadControl$Builder; or its super classes (declaration of 'com.google.android.exoplayer2.DefaultLoadControl$Builder' appears in /data/app/com.company.myapp-bJibtmPeizHK0sfcwRqrpA==/base.apk)
[MonoDroid]   --- End of managed Java.Lang.IncompatibleClassChangeError stack trace ---
[MonoDroid] java.lang.NoSuchMethodError: No virtual method build()Lcom/google/android/exoplayer2/DefaultLoadControl; in class Lcom/google/android/exoplayer2/DefaultLoadControl$Builder; or its super classes (declaration of 'com.google.android.exoplayer2.DefaultLoadControl$Builder' appears in /data/app/com.company.myapp-bJibtmPeizHK0sfcwRqrpA==/base.apk)
[MonoDroid]     at com.tritondigital.player.TdExoPlayer$PlayerHandler.b(SourceFile:97)
[MonoDroid]     at com.tritondigital.player.TdExoPlayer$PlayerHandler.handleMessage(SourceFile:66)
[MonoDroid]     at android.os.Handler.dispatchMessage(Handler.java:106)
[MonoDroid]     at android.os.Looper.loop(Looper.java:193)
[MonoDroid]     at android.app.ActivityThread.main(ActivityThread.java:6669)
[MonoDroid]     at java.lang.reflect.Method.invoke(Native Method)
[MonoDroid]     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
[MonoDroid]     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

你知道如何解决这个问题吗?

尝试使用文档中提到的embeddedjar构建操作在绑定项目中添加外部层的jar

最新更新