OkHttp绑定库为Xamarin Android抛出错误

时间:2013-10-30 23:36:33

标签: c# xamarin.android xamarin

我正在尝试在Xamarin Android应用程序中使用OkHttp-Xamarin库。每当我尝试创建一个新的OkHttpNetworkHandler时,我都会得到以下异常。

行:

var handler = new OkHttpNetworkHandler();

抛出:

[] Missing method Android.Runtime.JNIEnv::AllocObject(Type) in assembly Mono.Android.dll, referenced in assembly /data/data/com.my.app/files/.__override__/OkHttp.dll
[MonoDroid] UNHANDLED EXCEPTION: System.MissingMethodException: Method not found: 'Android.Runtime.JNIEnv.AllocObject'.
[MonoDroid] at ModernHttpClient.OkHttpNetworkHandler..ctor () <IL 0x00001, 0x00057>

我正在使用ModernHttpClient 0.9版的预建二进制文件。我的最低Android版本设置为2.3,目标设置为4.2。我正在使用Xamarin Studio 4.0.13和Mono 3.2.3。

2 个答案:

答案 0 :(得分:2)

所以这看起来像是对绑定代码的第一次调用。

这里可能会发生一些事情:

  • 确保使用EmbeddedJar而不是InputJar作为jar文件的构建操作。否则,您必须在主Android应用程序中包含jar。
  • 确保您的主应用程序具有对绑定DLL的引用,如果只有依赖项目具有引用,则会导致问题。

如果这些都没有解决你的问题,请告诉我,我认为保罗贝茨对这个图书馆有一个有效的约束力。

答案 1 :(得分:2)

对于为什么抛出异常并不是真正的答案,但在Paul Betts的建议下,我切换到Alpha频道,现在情况正在发挥作用。