libGDX черный экран в "Android", отлично работает на "Desktop"

Слушайте - я пытаюсь изучить API libGDX, потому что хочу разработать небольшую кроссплатформенную игру, в основном для смартфонов (Android iOS).

Поэтому я начал новый проект со специальной установки libGDX, которую разработчики сделали, я установил Gradle на Eclipse, и все прошло отлично, я запустил "небольшую" демо-версию "Desktop", и она отлично работала (Linux, если это имеет значение).), Я даже сделал пару изменений в коде и сделал действительно маленькую игру, которая отлично работала.

А потом я захотел следовать своей основной цели и начать разработку для Android, поэтому я запустил эмулятор, создал новый чистый проект, и мне сказали, что приложение неожиданно остановилось, а затем я увидел, что для запуска opengl2 в эмуляторе Android Я должен поставить галочку в поле "gpu host", поэтому я сделал это.

Я перезапустил эмулятор, запустил свое приложение, и все, что я увидел, было черным экраном, и в консоли catlog мне сообщили следующую строку:

E / EGL_emulation (1191): rcCreateWindowSurface вернул 0

а также -

eglCreateWindowSurface (631): ошибка 3x3003 (EGL_BAD_ALLOC)

Я не знаю, что делать сейчас, я даже пытался запустить его на реальном устройстве Android, и я получил те же результаты, как я мог исправить эту проблему / ошибку?

РЕДАКТИРОВАТЬ: вот некоторые исходные файлы, если вам интересно -

import com.badlogic.gdx.ApplicationAdapter;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;

public class FlappyRabbi extends ApplicationAdapter {
    SpriteBatch batch;
    Texture img;

    @Override
    public void create () {
        batch = new SpriteBatch();
        img = new Texture("badlogic.jpg");
    }

     @Override
     public void render () {
        Gdx.gl.glClearColor(1, 0, 0, 1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
        batch.begin();
        batch.draw(img, 0, 0);
        batch.end();
    }
}

2 ответа

Решение

Решено - эмулятор, вероятно, не поддерживал GL2.0, я использовал отладку по USB на реальном устройстве Android, работает как шарм.

Как долго вы начали свой проект?
Возможно, вы все еще используете версию libgdx, в которой поддерживается OpenGL ES 1.x, и в этом случае вам может потребоваться сделать что-то подобное в вашем проекте Android:

AndroidApplicationConfiguration config = new AndroidApplicationConfiguration();
config.useGL20 = true; // important line 
initialize(new YourGame(), config);    
Другие вопросы по тегам