Ошибки OpenGL Эмулятора Android SurfaceView
Я получаю несколько ошибок OpenGL в эмуляторе Android при запуске простого кода для рисования в SurfaceView. В результате SurfaceView не рисует при запуске в эмуляторе. Тот же код корректно выполняется на устройстве (в данном случае Amazon Fire HD 8 (2017-KFDOWI)).
Вот ошибки:
Эмулятор: android / android-emugl / host / libs / Translator/GLES_V2 / GLESv2Imp.cpp: glReadPixels: 2827 ошибка 0x502
Эмулятор: sPrepareTexImage2D: 3087 сбой проверка
Эмулятор: android / android-emugl / host / libs / Translator/GLES_V2 / GLESv2Imp.cpp: glTexImage2D: 3133 ошибка 0x500
Эмулятор: sPrepareTexImage2D: 3087 ошибка проверки
Эмулятор: android / android-emugl / host / libs / Translator/GLES_V2 / GLESv2Imp.cpp: glTexImage2D: 3133 ошибка 0x500
Эмулятор: android / android-emugl / host / libs / Translator/GLES_V2 / GLESv2Imp.cpp: glTexSubImage2D: 3237 ошибка 0x500
Вот код:
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.util.AttributeSet;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
public class CustomSurfaceView extends SurfaceView implements SurfaceHolder.Callback {
private SurfaceHolder surfaceHolder;
public CustomSurfaceView(Context context) {
super(context);
init();
}
public CustomSurfaceView(Context context, AttributeSet attributeSet) {
super(context, attributeSet);
init();
}
private void init() {
this.surfaceHolder = getHolder();
surfaceHolder.addCallback(this);
}
@Override
public void surfaceCreated(SurfaceHolder surfaceHolder) {
Canvas canvas = surfaceHolder.lockCanvas();
canvas.drawColor(Color.RED);
surfaceHolder.unlockCanvasAndPost(canvas);
}
@Override
public void surfaceChanged(SurfaceHolder surfaceHolder, int i, int i1, int i2) {
}
@Override
public void surfaceDestroyed(SurfaceHolder surfaceHolder) {
}
}
Деятельность:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="MainActivity">
<CustomSurfaceView
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.constraint.ConstraintLayout>
Системная Информация:
- MacOS High Sierra 10.13.2
- 16 ГБ ОПЕРАТИВНОЙ ПАМЯТИ
- Android Studio 3.0.1
- JRE 1.8.0_152
- HAXM 6.2.1
Информация AVD:
- API 25
- Графика: Автоматическая
- ОЗУ: 1536 МБ
Информация О Приложении:
- API 26
- мин SDK: 19
Кроме того, я могу запустить код OpenGL ES 2.0 в этом же эмулятор без этих проблем.