Xamarin Forms / Android地图应用程序在模拟器上运行,但在物理设备上崩溃

时间:2016-05-31 21:49:41

标签: android xamarin opengl-es arcgis

我尝试使用Arcama Runtime SDK for Xamarin创建一个简单的地图应用程序,使用Xamarin.Forms选项,到目前为止仅使用Android版本(无法访问适用于iOS的Mac)然而)。我可以在模拟器上运行应用程序。但是当我将它部署到我的物理Android平板电脑(Nexus 7 w / 5.0.1)时,应用程序会在显示地图时崩溃。我甚至把它打包好了,让朋友把它部署到新的三星手机上,它也会在那里崩溃。

代码非常简单。这是共享代码ContentPage类中的整个主要方法(ArcGIS SDK仅支持共享代码方法):

InitializeComponent ();

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

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

应用程序崩溃"不幸(应用程序名称)已停止"。在Visual Studio中,输出包括:

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)

根据configSpec错误消息的其他在线帖子,这似乎是一个OpenGL问题。但物理设备似乎支持所需的OpenGL ES 2.0。我也可以使用示例代码运行一个小应用程序 https://developer.xamarin.com/api/type/Xamarin.Forms.OpenGLView/

我还在仿真器和设备上运行了ESRI Xamarin.Forms示例和Xamarin.Android示例,结果相同。有什么想法导致这里?

1 个答案:

答案 0 :(得分:1)

如果这是一个opengl错误,那么可能会检查设备上的开发人员选项,并确保在那里启用opengl 2.0。

相关问题