【问题标题】:Error building Xamarin.Android project with Google Play Services使用 Google Play 服务构建 Xamarin.Android 项目时出错
【发布时间】:2014-09-12 13:18:53
【问题描述】:

我正在开发一个最低目标版本为 ICS 的 Android 项目,因此我从 Xamarin 组件商店下载了 Google Play Services ICS 组件(版本 18.0.0.1)。添加对它包含的 4 个 dll 的引用后,我无法构建项目,因此我不得不调整我的项目中的目标 android 版本,如 thread 中所述。我当前的设置是:

使用 Android 版本编译:API 级别 17 最低 Android 目标:API 级别 14 目标 Android 版本:API 级别 17

但是,构建过程仍然失败并出现以下错误:

2>JAVAC : warning : com\google\ads\mediation\MediationBannerListener.class(com\google\ads\mediation:MediationBannerListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\ads\mediation\MediationBannerAdapter.class(com\google\ads\mediation:MediationBannerAdapter.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\ads\AdRequest.class(com\google\ads:AdRequest.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\ads\AdRequest$ErrorCode.class(com\google\ads:AdRequest$ErrorCode.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\ads\mediation\MediationInterstitialListener.class(com\google\ads\mediation:MediationInterstitialListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\ads\mediation\MediationInterstitialAdapter.class(com\google\ads\mediation:MediationInterstitialAdapter.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\ads\mediation\customevent\CustomEventListener.class(com\google\ads\mediation\customevent:CustomEventListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\ads\doubleclick\AppEventListener.class(com\google\android\gms\ads\doubleclick:AppEventListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\ads\mediation\MediationBannerListener.class(com\google\android\gms\ads\mediation:MediationBannerListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\ads\mediation\MediationBannerAdapter.class(com\google\android\gms\ads\mediation:MediationBannerAdapter.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\ads\mediation\MediationInterstitialListener.class(com\google\android\gms\ads\mediation:MediationInterstitialListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\ads\mediation\MediationInterstitialAdapter.class(com\google\android\gms\ads\mediation:MediationInterstitialAdapter.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\ads\mediation\customevent\CustomEventListener.class(com\google\android\gms\ads\mediation\customevent:CustomEventListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\ads\purchase\InAppPurchaseListener.class(com\google\android\gms\ads\purchase:InAppPurchaseListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\ads\purchase\InAppPurchase.class(com\google\android\gms\ads\purchase:InAppPurchase.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\ads\purchase\PlayStorePurchaseListener.class(com\google\android\gms\ads\purchase:PlayStorePurchaseListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\ads\purchase\InAppPurchaseResult.class(com\google\android\gms\ads\purchase:InAppPurchaseResult.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\cast\RemoteMediaPlayer.class(com\google\android\gms\cast:RemoteMediaPlayer.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\cast\RemoteMediaPlayer$OnMetadataUpdatedListener.class(com\google\android\gms\cast:RemoteMediaPlayer$OnMetadataUpdatedListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\cast\Cast.class(com\google\android\gms\cast:Cast.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\cast\Cast$MessageReceivedCallback.class(com\google\android\gms\cast:Cast$MessageReceivedCallback.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\cast\RemoteMediaPlayer$OnStatusUpdatedListener.class(com\google\android\gms\cast:RemoteMediaPlayer$OnStatusUpdatedListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\common\GooglePlayServicesClient.class(com\google\android\gms\common:GooglePlayServicesClient.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\common\GooglePlayServicesClient$OnConnectionFailedListener.class(com\google\android\gms\common:GooglePlayServicesClient$OnConnectionFailedListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\common\ConnectionResult.class(com\google\android\gms\common:ConnectionResult.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\common\images\ImageManager.class(com\google\android\gms\common\images:ImageManager.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\common\images\ImageManager$OnImageLoadedListener.class(com\google\android\gms\common\images:ImageManager$OnImageLoadedListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\drive\DriveFile.class(com\google\android\gms\drive:DriveFile.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\drive\DriveFile$DownloadProgressListener.class(com\google\android\gms\drive:DriveFile$DownloadProgressListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\drive\DriveResource.class(com\google\android\gms\drive:DriveResource.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\drive\events\DriveEvent.class(com\google\android\gms\drive\events:DriveEvent.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\drive\events\DriveEvent$Listener.class(com\google\android\gms\drive\events:DriveEvent$Listener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\common\internal\safeparcel\SafeParcelable.class(com\google\android\gms\common\internal\safeparcel:SafeParcelable.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\games\multiplayer\OnInvitationReceivedListener.class(com\google\android\gms\games\multiplayer:OnInvitationReceivedListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\games\multiplayer\Invitation.class(com\google\android\gms\games\multiplayer:Invitation.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\games\multiplayer\realtime\RealTimeMessageReceivedListener.class(com\google\android\gms\games\multiplayer\realtime:RealTimeMessageReceivedListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\games\multiplayer\realtime\RealTimeMessage.class(com\google\android\gms\games\multiplayer\realtime:RealTimeMessage.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\games\multiplayer\realtime\RoomStatusUpdateListener.class(com\google\android\gms\games\multiplayer\realtime:RoomStatusUpdateListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\games\multiplayer\realtime\Room.class(com\google\android\gms\games\multiplayer\realtime:Room.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\games\multiplayer\realtime\RoomUpdateListener.class(com\google\android\gms\games\multiplayer\realtime:RoomUpdateListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\games\multiplayer\turnbased\OnTurnBasedMatchUpdateReceivedListener.class(com\google\android\gms\games\multiplayer\turnbased:OnTurnBasedMatchUpdateReceivedListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\games\multiplayer\turnbased\TurnBasedMatch.class(com\google\android\gms\games\multiplayer\turnbased:TurnBasedMatch.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\games\quest\QuestUpdateListener.class(com\google\android\gms\games\quest:QuestUpdateListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\games\quest\Quest.class(com\google\android\gms\games\quest:Quest.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\games\request\OnRequestReceivedListener.class(com\google\android\gms\games\request:OnRequestReceivedListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\games\request\GameRequest.class(com\google\android\gms\games\request:GameRequest.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\location\LocationClient.class(com\google\android\gms\location:LocationClient.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\location\LocationClient$OnAddGeofencesResultListener.class(com\google\android\gms\location:LocationClient$OnAddGeofencesResultListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\location\LocationClient$OnRemoveGeofencesResultListener.class(com\google\android\gms\location:LocationClient$OnRemoveGeofencesResultListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\location\LocationListener.class(com\google\android\gms\location:LocationListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\GoogleMap.class(com\google\android\gms\maps:GoogleMap.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\GoogleMap$OnCameraChangeListener.class(com\google\android\gms\maps:GoogleMap$OnCameraChangeListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\model\CameraPosition.class(com\google\android\gms\maps\model:CameraPosition.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\GoogleMap$OnIndoorStateChangeListener.class(com\google\android\gms\maps:GoogleMap$OnIndoorStateChangeListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\model\IndoorBuilding.class(com\google\android\gms\maps\model:IndoorBuilding.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\GoogleMap$OnInfoWindowClickListener.class(com\google\android\gms\maps:GoogleMap$OnInfoWindowClickListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\model\Marker.class(com\google\android\gms\maps\model:Marker.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\GoogleMap$OnMapClickListener.class(com\google\android\gms\maps:GoogleMap$OnMapClickListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\model\LatLng.class(com\google\android\gms\maps\model:LatLng.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\GoogleMap$OnMapLongClickListener.class(com\google\android\gms\maps:GoogleMap$OnMapLongClickListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\GoogleMap$OnMarkerClickListener.class(com\google\android\gms\maps:GoogleMap$OnMarkerClickListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\GoogleMap$OnMarkerDragListener.class(com\google\android\gms\maps:GoogleMap$OnMarkerDragListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\GoogleMap$OnMyLocationButtonClickListener.class(com\google\android\gms\maps:GoogleMap$OnMyLocationButtonClickListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\GoogleMap$OnMyLocationChangeListener.class(com\google\android\gms\maps:GoogleMap$OnMyLocationChangeListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\LocationSource.class(com\google\android\gms\maps:LocationSource.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\LocationSource$OnLocationChangedListener.class(com\google\android\gms\maps:LocationSource$OnLocationChangedListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\StreetViewPanorama.class(com\google\android\gms\maps:StreetViewPanorama.class): major version 51 is newer than 50, the highest major version supported by this compiler.
2>JAVAC : warning : com\google\android\gms\maps\StreetViewPanorama$OnStreetViewPanoramaCameraChangeListener.class(com\google\android\gms\maps:StreetViewPanorama$OnStreetViewPanoramaCameraChangeListener.class): major version 51 is newer than 50, the highest major version supported by this compiler.

这是否与我 PC 上的 JDK 版本有关?有什么想法吗?

提前致谢。

【问题讨论】:

    标签: android xamarin xamarin.android google-play-services


    【解决方案1】:

    我遇到了类似的问题。从与 android 相关的 stackoverflow 参考资料中,我发现“主要版本”是指 Java 版本。 Java 7 = 51,Java 6 = 50。' (Android Studio: what compiler settings when including Google Maps)。这是说它使用的编译器(在你的情况下是 JDK 6)不够高。

    首先,您要确保已安装 Java 版本 7 的 Java 开发工具包。在我的情况下,它已经安装了,但版本 6 仍在使用中。

    在 Xamarin Studio 中,您可以转到 Options/Preferences -> Projects -> SDK Locations 以指向版本 7 的 JDK 位置。

    在带有 Xamarin 插件的 Visual Studios 中,我无法弄清楚如何指定使用 JDK 7 进行编译。因此,我从计算机中删除了版本 6,现在代码可以编译。

    【讨论】:

    • 这使得使用 Xamarin Studio 时的警告消失了。仍然想知道如何在 Visual Studio 中设置 JDK 路径...
    • 仍在搜索,但我同意我的答案不完整,不知道如何在 VS 中设置路径。
    • 由于某种原因我无法指定新的 JDK.. 我得到 this error
    • @user1- 它不起作用的原因是您的目标是一个 jre - java 运行时环境。您需要指定一个 jdk——一个 java 开发工具包。如果您认为您已经下载了有效的 jdk 但没有看到它,请确保检查您的 64 位和 32 位 (x86) 程序文件,否则,download jdk 8 here
    【解决方案2】:

    我遇到了同样的问题,改用 JDK 7 部分解决了这个问题。我已经在 google play store 上发布了我的应用程序,但发现某些智能手机无法处理 JDK 7 的签名。在这些手机上下载应用程序时出现错误“包文件未正确签名”。

    xamarin.android App signing does not work

    如果换成 JDK 7 会出现这个问题,或许还有其他方法可以解决这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-04
      • 1970-01-01
      • 2016-09-21
      • 2016-11-01
      • 2016-03-14
      • 2016-03-11
      • 2014-06-14
      相关资源
      最近更新 更多