Я пытаюсь создать простую картографическую программу с SDK ArcGIS Runtime SDK для Xamarin с опцией Xamarin.Forms, пока только с версией Android (пока у меня нет доступа к Mac для iOS). Я могу просто запустить приложение на эмуляторе. Но когда я развертываю его на своем физическом планшете Android (Nexus 7 w/5.0.1), приложение вылетает, когда оно появляется, чтобы отобразить карту. Я даже упаковал его и пригласил друга на свой новый телефон Samsung, и он также падает там.Приложение Xamarin Forms/Android для Android работает на эмуляторе, но сбой на физическом устройстве
Код очень прост. Вот весь основной метод в общем классе код 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 на эмуляторе и устройств, с тем же результатом. Любые идеи, которые могут возникнуть здесь?
В каком устройстве вы его тестируете? вы утверждаете, что устройство поддерживает ogl 2.0, но без модели устройства оно не поддается проверке. – Gusman
Локальный планшет Asus Nexus 7 (2012), теперь работает 5.0.1. Также протестирован на Asus Nexus 7 (2013) и телефон Samsung менее чем за год (у него нет телефона/модели). Я понимаю, что Open GL ES 2.0 поддерживается с Android 2. –
Это зависит от устройства, но эй, я использую то же самое устройство (nexus 7 2013) для отладки, и сейчас я использую карты и ogl2. .. есть что-то действительно странное. попробуйте удалить из проекта .droid пакет Xamarin.Forms.Maps и пакет Xamarin.GooglePlayServices.Maps, очистите решение, удалите папки bin и obj из проекта, добавьте снова пакеты и снова перекомпилируйте, что-то с этими странными Ошибки с очисткой Xamarin все помогают. – Gusman