1

独自の Java バインディングを作成する必要があるいくつかの異なるタイプの広告ネットワークを使用します。Google が新しい「広告」ID を作成したため、これらのライブラリはすべて Google Play Services に依存するようになりました。

問題は、最新バージョンを取得した後、これらのバインディング プロジェクトを適切にビルドできないことです。google-play-services.jar( extrasAndroid 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 に答える