1

我们使用了几种不同类型的广告网络,我们必须为其编写自己的 Java 绑定。由于谷歌已经制作了一个新的“广告”id,所有这些库现在都依赖于谷歌播放服务。

问题是,在获得最新版本后,我无法正确构建这些绑定项目。我收到有关缺少类的错误,除非将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

此错误通常意味着该库正在使用我读过的 Java 7(Xamarin 不支持)。我能做些什么来修复这些绑定项目?

4

1 回答 1

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 构建应用程序时没有遇到任何问题。

希望这可以帮助。

于 2014-08-14T01:31:09.420 回答