2016-05-31 11 views
1

Xamarin.Formsオプション付きのArcGIS Runtime SDKを使用して単純なマップアプリケーションを作成しようとしています。 (まだiOS用のMacにアクセスできない)。私はエミュレータ上でアプリケーションを正常に実行することができます。しかし、実際のAndroidタブレット(Nexus 7 w/5.0.1)に展開すると、地図を表示するとアプリがクラッシュします。私はそれをパッケージ化して、友人に新しいSamsungの携帯電話にそれを配備させてもらい、そこにもクラッシュさせる。Xamarin Forms/Androidマップアプリケーションはエミュレータで動作しますが、物理デバイスでクラッシュします

コードは非常に簡単です。

InitializeComponent(); 

myMap = new Map(Basemap.CreateImagery()); 

// MyMapView is in the XAML markup 
MyMapView.Map = myMap; 

とアプリがクラッシュする「残念ながら(アプリ名)が停止しました」:ここでは共有コードContentPageクラスの全体の主な方法は、(ArcGISのSDKのみ共有コードのアプローチをサポートしています)です。 configSpecのエラーメッセージの他のオンラインの記事に基づいて

Java.Lang.IllegalArgumentException: No configs match configSpec 

05-16 10:24:24.083 E/AndroidRuntime(24893): FATAL EXCEPTION: GLThread 1373 
05-16 10:24:24.083 E/AndroidRuntime(24893): Process: ArcGisMapTest.Droid, PID: 24893 
05-16 10:24:24.083 E/AndroidRuntime(24893): java.lang.IllegalArgumentException: No configs match configSpec 
05-16 10:24:24.083 E/AndroidRuntime(24893): at android.opengl.GLSurfaceView$BaseConfigChooser.chooseConfig(GLSurfaceView.java:858) 
05-16 10:24:24.083 E/AndroidRuntime(24893): at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:1023) 
05-16 10:24:24.083 E/AndroidRuntime(24893): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1400) 
05-16 10:24:24.083 E/AndroidRuntime(24893): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1239) 

、これはOpenGLの問題のように見えるでしょう:Visual Studioで、出力はこれが含まれています。しかし、物理的なデバイスは、必要なOpenGL ES 2.0をサポートするように見えます。私も、私も同じ結果で、エミュレータやデバイス上のESRI Xamarin.FormsサンプルとXamarin.Androidサンプルの両方を実行した https://developer.xamarin.com/api/type/Xamarin.Forms.OpenGLView/

でのサンプルコードで小さなアプリケーションを実行することができますよ。ここに原因がありますか?

+0

どのデバイスでテストしていますか?あなたはデバイスがogl 2.0をサポートしているようだが、デバイスのモデルがなければ、それは検証可能ではない。 – Gusman

+0

ローカルタブレットはAsus Nexus 7(2012)で、現在5.0.1を実行中です。また、ASUS Nexus 7(2013)と1歳未満のSamsungの携帯電話(電話機/モデルはありません)でテストされています。 Open GL ES 2.0はAndroid 2以来サポートされています。 –

+0

これはデバイスによって異なりますが、ちょっと、デバッグに全く同じデバイス(nexus 7 2013)を使用しています。今はマップとogl2を使用しています。 ..何か本当に奇妙なことがあります。 .droidプロジェクトからXamarin.Forms.MapsパッケージとXamarin.GooglePlayServices.Mapsパッケージを削除し、ソリューションをクリーンアップし、プロジェクトからbinフォルダとobjフォルダを削除し、パッケージをもう一度追加して再コンパイルします。これらの奇妙なXamarinのバグはすべてを助けます。 – Gusman

答えて

1

OpenGLエラーの場合は、デバイスの開発者オプションをチェックし、そこにopengl 2.0が有効になっているかどうかを確認してください。

+0

提案していただきありがとうございます。 OpenGLに関する特定のものは、「OpenGLトレースを有効にする」以外のデバイスの開発者オプションでは表示されません。これはLogcatに設定されていますが、有用なものは何も見つかりませんでした。私は "強制GPUレンダリング"オプションを試してみましたが、成功しませんでした。 –

+0

私は最終的に新しいAndroidタブレットを購入し、(少し新しいバージョンの)Esri APIがその上で動作します。古いAsus Nexus 7 2012はOpenGL ES 2をサポートしていないか、デバイスやAPI、またはパッケージのいずれかに正しく設定されていないと結論づけます。 –

関連する問題