Xamarin.Android - Java Binding依赖于Google Play服务

jon*_*ers 1 android xamarin.android xamarin java-binding

我们使用几种不同类型的Ad网络来编写自己的Java绑定.由于Google已经制作了新的"广告"ID,因此所有这些图书馆现在都依赖于Google Play服务.

问题是,在获得最新版本后,我无法正确构建这些绑定项目.我收到有关缺少类的错误,除非将google-play-services.jar(从extras我的Android SDK中的文件夹)添加Reference Jar到项目中.

添加播放服务jar文件后,我收到一个新错误:

missing class error was raised while reflecting com.somepackage.SomeClass : com/google/android/gms/common/GooglePlayServicesRepairableException : Unsupported major.minor version 51.0 JARTOXML
Run Code Online (Sandbox Code Playgroud)

这个错误通常意味着库正在使用Java 7(Xamarin不支持).我该怎么做才能修复这些绑定项目?

Kil*_*man 9

问题是当您的库使用JDK 1.7编译时,Xamarin使用JDK 1.6.

为了解决这个问题,首先安装JDK 1.7 32位.然后在Progrm Files(x86)\ Java文件夹中,将jdk1.6文件夹重命名为_jdk1.6.

当Xamarin运行时,它现在将找到JDK 1.7文件夹并使用它.到目前为止,我没有遇到任何使用Xamarin和JDK 1.7构建应用程序的问题.

希望这可以帮助.

  • 实际上,这不再是真的.Xamarin支持JDK 1.7请参阅http://developer.xamarin.com/guides/android/getting_started/installation/windows/manual_installation/#Installing_Java_SDK_(JDK)事实上,它需要支持API级别21+. (2认同)