2016-04-02 9 views
2

私はXamarin Androidを初めて使用しています。私は自分のアプリケーションに基本的なGoogleマップを表示しようとしています。 APIキーなどがGoogleマップAPIに設定されています。しかし、私がエミュレータを起動すると、「Google Playサービスなしでアプリケーションは実行されません」というメッセージが表示されます。Xamarin AppはGoogle Playサービスなしでは実行されません

アンドロイドSDKマネージャを使用してすべてのパッケージ/ SDKをインストールしましたが、APIレベル22(Android 5.0 Lollipop)を使用しようとしています。

以下のコードは、Googleマップ(xamarinの例からダウンロード)を初期化するためのコードです。

誰でも私がここで何が欠けているか教えてください。

 using System; 
     using Android.App; 
     using Android.Content; 
     using Android.Gms.Maps; 
     using Android.Gms.Maps.Model; 
     using Android.Runtime; 
     using Android.Views; 
     using Android.Widget; 
     using Android.OS; 

     namespace App2 
     { 
     [Activity(Label = "App2", MainLauncher = true, Icon = "@drawable/icon")] 
     public class MainActivity : Activity, IOnMapReadyCallback 
     { 
     private GoogleMap _gMap; 
     protected override void OnCreate(Bundle bundle) 
     { 
     base.OnCreate(bundle); 

     // Set our view from the "main" layout resource 
     SetContentView(Resource.Layout.Main); 
     GetMap(); 
    } 

    private void GetMap() 
    { 

     if (_gMap == null) 
     { 
      FragmentManager.FindFragmentById<MapFragment>(Resource.Id.map).GetMapAsync(this); 
     } 
    } 

    public void OnMapReady(GoogleMap map) 
    { 
     _gMap = map; 
    } 
    } 
} 

Main.axml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"> 
<fragment 
    android:id="@+id/map" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:name="com.google.android.gms.maps.MapFragment" /> 

アンドロイドMainfest

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="App2.App2" android:versionCode="1" android:versionName="1.0" android:installLocation="auto"> 
<uses-sdk android:minSdkVersion="16" /> 
<application android:label="App2" android:icon="@drawable/Icon"> 
    <meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="AIzaSyCKBrF-_IrAQlkUyFG7GT4qgEJ7qOgyNRI" /> 
</application> 
<uses-feature android:glEsVersion="0x00020000" android:required="true" /> 
<!-- We need to be able to download map tiles and access Google Play Services--> 
<uses-permission android:name="android.permission.INTERNET" /> 
<!-- Allow the application to access Google web-based services. --> 
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" /> 
<!-- Google Maps for Android v2 will cache map tiles on external storage --> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<!-- Google Maps for Android v2 needs this permission so that it may check the connection state as it must download data --> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<!-- These are optional, but recommended. They will allow Maps to use the My Location provider. --> 
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 

Error All SDKs Installed

答えて

3

これは、Google Playのサービスがインストールされていないデバイス、またはこの場合エミュレータいること、であるように思われます。 Androidアプリ内のパッケージは、通常は端末にインストールされているGoogle Playサービスへのアクセスを提供するだけです。この意味で、Google Playサービスは共有ランタイムによく似ています。

この問題を解決するには、guideに従ってGoogle Playサービスをエミュレータにインストールする必要があります。

こちらがお役に立てば幸いです。

+0

こんにちは、返信ありがとうございます。私はあなたの指示に従って、適切なzipファイルをダウンロードしましたが、問題はプレイヤーにドラッグをドロップできないことです。プレーヤーにジップをドロップしようとすると、サークル(禁止)アイコンが表示されます。これを引き起こしている可能性があります。 – Robin

+0

ねえ!私は自分のシステムでそれを再現できるかどうかを確認する必要があります。私はこのスレッドに返信します。 – clb

2

Google Playサービスがインストールされていないエミュレータの画像でアプリを実行しようとしているようです。

私はいつもテストのために物理デバイスを使用することをお勧めしますが、デバイスを所有していないさまざまなAPIレベルをテストする必要がある場合は、エミュレータを使用すれば十分です。

Google AVDを使用している場合は、すでにGoogle Playサービスが含まれているcreate a new virtual deviceにアクセスできます。

あなたがXamarin Android Playerを使用している場合は、@ clbが言及したthis guideを使用できます。ただし、Xamarin Android Playerはプレビューソフトウェアであり、正式にサポートされていないことにご注意ください。これがGoogle Playサービスのインストールに問題がある場合は、file a bug reportに、サポートのための最善の選択肢があります。 (現在のガイドでは、ログの場所が間違って表示されています(Windowsの場合は、右下のバー(Mac)をクリックしてヘルプメニュー>バグレポートを生成 - ログはデスクトップに圧縮されます)

まだ問題が残っている場合は、使用しているエミュレータを教えてください。さらに手伝ってもらえますか?

+0

こんにちはアラン、私は物理的なデバイス上の私のアプリをチェックし、それは正常に動作します。 Xamarin Playerが新しいバージョンをリリースするまで、私はそれを持って生きなければならないと思う。もう一つの可能​​性は、私がハイパーVを持っていないWindows 10 Homeを実行している可能性があります。 – Robin

1

他にも述べたように、エミュレータにGoogle Playサービス(別名Google API)がインストールされていないという問題があるようです。ここに、私があなたにそれを行う方法を示したチュートリアルへのリンクがあります。ビデオもあります:https://birdsbits.wordpress.com/2016/05/26/testing-location-aware-apps-on-an-emulator

+0

あなたのブログへのリンクを提供するだけでなく、ここにいくつかの情報を投稿すると便利です。リンクは腐敗する可能性がある –

+0

キーは、SDKマネージャを介してGoogle APIをインストールして、デバイスを設定するときに(特にCPU/ABIセクションで)選択します。 –

関連する問題