2016-09-16 8 views
2

После обновления моей версии Android Studio до версии 2.1.3 мое приложение вылетает при каждом запуске.Mapbox Android SDK crash - "java.lang.Error: Vertex shader fill не удалось скомпилировать"

Точнее, он падает при попытке загрузить мой Mapbox View (который отлично работал до этого).

Я сделал некоторые исследования, и это, кажется, известная проблема, но я не мог найти какой-либо обходной путь, чтобы пройти через это ...

Я думаю, что это может быть проблемой только с эмулятором, но пока я не мог попробовать много физических устройств, поэтому я не уверен в этом. Но в любом случае мне действительно нужно использовать эмулятор для отладки моего приложения.

Если у кого-то есть информация об этом, это будет действительно полезно. Спасибо большое!

Вот журналы ошибок, которые я получаю. Первый из них:

09-16 13:27:59.063 2938-2938/flow.bricks D/mbgl: {flow.bricks}[Android]: NativeMapView::notifyMapChange() 
09-16 13:27:59.065 2938-2938/flow.bricks E/mbgl: {flow.bricks}[Shader]: Shader failed to compile: ERROR: Valid GLSL but not GLSL ES 
09-16 13:27:59.065 2938-2938/flow.bricks E/mbgl: {flow.bricks}[Shader]: Vertex shader fill failed to compile: precision highp float; 
              #ifdef GL_ES 
              precision highp float; 
              #else 
              #define lowp 
              #define mediump 
              #define highp 
              #endif 

              attribute vec2 a_pos; 

              uniform mat4 u_matrix; 

              uniform lowp vec4 u_color; 
              uniform lowp float u_opacity; 

              void main() { 
               lowp vec4 color = u_color; 
               lowp float opacity = u_opacity; 

               gl_Position = u_matrix * vec4(a_pos, 0, 1); 
              } 
09-16 13:27:59.066 2938-2938/flow.bricks D/AndroidRuntime: Shutting down VM 

И второй один:

              --------- beginning of crash 
09-16 13:27:59.068 2938-2938/flow.bricks E/AndroidRuntime: FATAL EXCEPTION: main 
                 Process: flow.bricks, PID: 2938 
                 java.lang.Error: Vertex shader fill failed to compile 
                  at com.mapbox.mapboxsdk.maps.NativeMapView.nativeRender(Native Method) 
                  at com.mapbox.mapboxsdk.maps.NativeMapView.render(NativeMapView.java:139) 
                  at com.mapbox.mapboxsdk.maps.MapView.onDraw(MapView.java:1377) 
                  at android.view.View.draw(View.java:16178) 
                  at android.view.View.updateDisplayListIfDirty(View.java:15174) 
                  at android.view.View.draw(View.java:15948) 
                  at android.view.ViewGroup.drawChild(ViewGroup.java:3609) 
                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399) 
                  at android.view.View.updateDisplayListIfDirty(View.java:15169) 
                  at android.view.View.draw(View.java:15948) 
                  at android.view.ViewGroup.drawChild(ViewGroup.java:3609) 
                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399) 
                  at android.view.View.draw(View.java:16181) 
                  at android.support.v4.view.ViewPager.draw(ViewPager.java:2415) 
                  at android.view.View.updateDisplayListIfDirty(View.java:15174) 
                  at android.view.View.draw(View.java:15948) 
                  at android.view.ViewGroup.drawChild(ViewGroup.java:3609) 
                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399) 
                  at android.view.View.draw(View.java:16181) 
                  at android.view.View.updateDisplayListIfDirty(View.java:15174) 
                  at android.view.View.draw(View.java:15948) 
                  at android.view.ViewGroup.drawChild(ViewGroup.java:3609) 
                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399) 
                  at android.view.View.updateDisplayListIfDirty(View.java:15169) 
                  at android.view.View.draw(View.java:15948) 
                  at android.view.ViewGroup.drawChild(ViewGroup.java:3609) 
                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399) 
                  at android.view.View.updateDisplayListIfDirty(View.java:15169) 
                  at android.view.View.draw(View.java:15948) 
                  at android.view.ViewGroup.drawChild(ViewGroup.java:3609) 
                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399) 
                  at android.view.View.updateDisplayListIfDirty(View.java:15169) 
                  at android.view.View.draw(View.java:15948) 
                  at android.view.ViewGroup.drawChild(ViewGroup.java:3609) 
                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399) 
                  at android.view.View.updateDisplayListIfDirty(View.java:15169) 
                  at android.view.View.draw(View.java:15948) 
                  at android.view.ViewGroup.drawChild(ViewGroup.java:3609) 
                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399) 
                  at android.view.View.updateDisplayListIfDirty(View.java:15169) 
                  at android.view.View.draw(View.java:15948) 
                  at android.view.ViewGroup.drawChild(ViewGroup.java:3609) 
                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399) 
                  at android.view.View.updateDisplayListIfDirty(View.java:15169) 
                  at android.view.View.draw(View.java:15948) 
                  at android.view.ViewGroup.drawChild(ViewGroup.java:3609) 
                  at android.view.ViewGroup.dispatchDraw(ViewGroup.java:3399) 
                  at android.view.View.draw(View.java:16181) 
                  at com.android.internal.policy.PhoneWindow$DecorView.draw(PhoneWindow.java:2690) 
                  at android.view.View.updateDisplayListIfDirty(View.java:15174) 
                  at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:281) 
                  at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:287) 
                  at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:322) 
                  at android.view.ViewRootImpl.draw(ViewRootImpl.java:2615) 
                  at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2434) 
                  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2067) 
                  at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107) 
                  at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013) 
                  at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858) 
                  at android.view.Choreographer.doCallbacks(Choreographer.java:670) 
                  at android.view.Choreographer.doFrame(Choreographer.java:606) 
                  at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844) 
                  at android.os.Handler.handleCallback(Handler.java:739) 
                  at android.os.Handler.dispatchMessage(Handler.java:95) 
                  at android.os.Looper.loop(Looper.java:148) 
                  at android.app.ActivityThread.main(ActivityThread.java:5417) 
                 a 
+0

См http://stackoverflow.com/a/39131399/388210 – RobLabs

+0

Да, я видел этот ответ, но, к сожалению, изменения моего эмулятора настройки графики не решить проблему для меня ... – Keysaw

ответ

1

На основе обсуждения я нашел в https://github.com/mapbox/react-native-mapbox-gl/issues/415#issue-177023433

Я был в состоянии понизить мой Android SDK Tools к 25.1.7, и я был в состоянии запускать и успешно загружать эмулятор x86.

Я проверил это против https://github.com/mapbox/mapbox-android-demo.


enter image description here


Вот остальная часть моей установки

  • Macos El Capitan 10.11.6
  • Android Студия 2,2
  • Конкретная моему MapBox-android- демо-компиляция
  • classpath 'com.android.tools.build:gradle:2.2.0'
  • supportLibVersion = '24.2.0'
  • buildToolsVersion '24.0.1'
+0

Спасибо за ответ! Думаю, я это сделаю. Еще один вопрос: безопасно ли полностью удалить Android Studio из моего Macbook, а затем установить правильную версию с нуля? – Keysaw