2013-03-28 7 views
6

Я пытаюсь сделать простые игры в Android с помощью AndEngine tutorialНет EGLConfig найдено

Теперь Когда я запускаю проект я получаю ошибку о том, что java.lang.IllegalArgumentException: Нет EGLConfig найден!

TowerOfHanoiActivity.java

public class TowerOfHanoiActivity extends SimpleBaseGameActivity { 

    private static int CAMERA_WIDTH = 800; 
    private static int CAMERA_HEIGHT = 480; 
    private ITextureRegion mBackgroundTextureRegion, mTowerTextureRegion, 
      mRing1, mRing2, mRing3; 

    @Override 
    public EngineOptions onCreateEngineOptions() { 

     final Camera camera = new Camera(0, 0, CAMERA_WIDTH, CAMERA_HEIGHT); 

     return new EngineOptions(true, ScreenOrientation.LANDSCAPE_FIXED, 
       new RatioResolutionPolicy(CAMERA_WIDTH, CAMERA_HEIGHT), camera); 
    } 

    @Override 
    protected void onCreateResources() { 

     try { 

      // 1 - Set up bitmap textures 
      ITexture backgroundTexture = new BitmapTexture(
        this.getTextureManager(), new IInputStreamOpener() { 

         @Override 
         public InputStream open() throws IOException { 
          return getAssets().open("gfx/background.png"); 
         } 
        }); 

      ITexture towerITexture = new BitmapTexture(
        this.getTextureManager(), new IInputStreamOpener() { 

         @Override 
         public InputStream open() throws IOException { 
          return getAssets().open("gfx/tower.png"); 
         } 
        }); 

      ITexture ring1 = new BitmapTexture(this.getTextureManager(), 
        new IInputStreamOpener() { 

         @Override 
         public InputStream open() throws IOException { 
          return getAssets().open("gfx/ring1.png"); 
         } 
        }); 
      ITexture ring2 = new BitmapTexture(this.getTextureManager(), 
        new IInputStreamOpener() { 

         @Override 
         public InputStream open() throws IOException { 
          return getAssets().open("gfx/ring2.png"); 
         } 
        }); 
      ITexture ring3 = new BitmapTexture(this.getTextureManager(), 
        new IInputStreamOpener() { 

         @Override 
         public InputStream open() throws IOException { 
          return getAssets().open("gfx/ring3.png"); 
         } 
        }); 

      // 2 - Load bitmap textures into VRAM 

      backgroundTexture.load(); 
      towerITexture.load(); 
      ring1.load(); 
      ring2.load(); 
      ring3.load(); 

      // 3 - Set up texture regions 
      this.mBackgroundTextureRegion = TextureRegionFactory.extractFromTexture(backgroundTexture); 
      this.mTowerTextureRegion = TextureRegionFactory.extractFromTexture(towerITexture); 
      this.mRing1 = TextureRegionFactory.extractFromTexture(ring1); 
      this.mRing2 = TextureRegionFactory.extractFromTexture(ring2); 
      this.mRing3 = TextureRegionFactory.extractFromTexture(ring3); 

     } catch (IOException e) { 
      Debug.e(e); 
     } 

    } 

    @Override 
    protected Scene onCreateScene() { 

     // 1 - Create new scene 
     final Scene scene = new Scene(); 
     Sprite backroundSprite = new Sprite(0, 0, this.mBackgroundTextureRegion, getVertexBufferObjectManager()); 
     scene.attachChild(backroundSprite); 
     return scene; 
    } 

} 

Logcat:

03-28 15:21:17.957: D/AndEngine(1478): TowerOfHanoiActivity.onCreate @(Thread: 'main') 
03-28 15:21:17.997: D/dalvikvm(1478): Trying to load lib /data/data/com.tutorial.towerofhanoi/lib/libandengine.so 0xb67ac4e0 
03-28 15:21:18.007: D/dalvikvm(1478): Added shared lib /data/data/com.tutorial.towerofhanoi/lib/libandengine.so 0xb67ac4e0 
03-28 15:21:18.007: D/dalvikvm(1478): No JNI_OnLoad found in /data/data/com.tutorial.towerofhanoi/lib/libandengine.so 0xb67ac4e0, skipping init 
03-28 15:21:18.127: D/AndEngine(1478): TowerOfHanoiActivity.onResume @(Thread: 'main') 
03-28 15:21:18.277: D/libEGL(1478): Emulator without GPU support detected. Fallback to software renderer. 
03-28 15:21:18.277: D/libEGL(1478): loaded /system/lib/egl/libGLES_android.so 
03-28 15:21:18.317: W/dalvikvm(1478): threadid=11: thread exiting with uncaught exception (group=0xb615e180) 
03-28 15:21:18.328: E/AndroidRuntime(1478): FATAL EXCEPTION: GLThread 81 
03-28 15:21:18.328: E/AndroidRuntime(1478): java.lang.IllegalArgumentException: No EGLConfig found! 
03-28 15:21:18.328: E/AndroidRuntime(1478):  at org.andengine.opengl.view.ConfigChooser.chooseConfig(ConfigChooser.java:183) 
03-28 15:21:18.328: E/AndroidRuntime(1478):  at org.andengine.opengl.view.ConfigChooser.chooseConfig(ConfigChooser.java:157) 
03-28 15:21:18.328: E/AndroidRuntime(1478):  at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:1009) 
03-28 15:21:18.328: E/AndroidRuntime(1478):  at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1362) 
03-28 15:21:18.328: E/AndroidRuntime(1478):  at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1216) 
03-28 15:21:18.387: D/gralloc_goldfish(1478): Emulator without GPU emulation detected. 
03-28 15:21:18.427: I/dalvikvm(1478): threadid=3: reacting to signal 3 
03-28 15:21:18.437: I/dalvikvm(1478): Wrote stack traces to '/data/anr/traces.txt' 
03-28 15:21:18.717: D/AndEngine(1478): TowerOfHanoiActivity.onPause @(Thread: 'main') 
03-28 15:21:19.167: D/AndEngine(1478): TowerOfHanoiActivity.onDestroy @(Thread: 'main') 
03-28 15:21:19.197: D/AndEngine(1478): UpdateThread interrupted. Don't worry - this EngineDestroyedException is most likely expected! 
03-28 15:21:19.197: D/AndEngine(1478): org.andengine.engine.Engine$EngineDestroyedException 
03-28 15:21:19.197: D/AndEngine(1478): at org.andengine.engine.Engine.throwOnDestroyed(Engine.java:574) 
03-28 15:21:19.197: D/AndEngine(1478): at org.andengine.engine.Engine.onTickUpdate(Engine.java:560) 
03-28 15:21:19.197: D/AndEngine(1478): at org.andengine.engine.Engine$UpdateThread.run(Engine.java:820) 
03-28 15:21:19.197: D/AndEngine(1478): TowerOfHanoiActivity.onDestroyResources @(Thread: 'main') 
03-28 15:21:19.197: D/AndEngine(1478): TowerOfHanoiActivity.onGameDestroyed @(Thread: 'main') 
03-28 15:21:22.477: I/Process(1478): Sending signal. PID: 1478 SIG: 9 

Я тестирую мое приложение в эмуляторе со следующими настройками

enter image description here

Пожалуйста, дайте мне правильное решение . Спасибо

ответ

0

Ваша конфигурация Эмулятор Хорошо, попробуйте создать новый эмулятор и запустить этот код, это может run.If не то должна быть какая-то проблема в кодировании

+0

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

+0

Создал новый avd и тестировал его. – ravi

+3

@ Kirit, графическая карта на вашем компьютере слишком стар, поэтому она не может работать. У вас все правильно настроено: 1. Эмуляция хоста GPU. 2. Target Android 4.0.3+, 3. используйте системный образ для вашего хоста, атом Intel. Это дубликат http://stackoverflow.com/questions/12798089/android-error-in-andengine/12802063#12802063 –

4

Создать AVD с Target 4.0.3 Уровень -API 15 с Эмуляция графического процессора да. Мой пример показал, что он работает после этого. ЕСЛИ у вас есть еще одна проблема: AndEngine Forum and get detail about OpenGL drivers

1

У меня была такая же проблема, и это сработало для меня на Windows 7 64bit. Мои настройки AVD: Устройство: (800 x 480 hdpi), Цель: Android 4.4 API уровня 19, CPU/ABI: ARM (armeabi-v7a).

  1. Я изменил Параметры памяти 512 VM Heap 32
  2. затем Параметры Эмуляция и Проверил "Использование хоста GPU."
  3. Нажмите OK, обновите, очистите проект, перезапустите Eclipse.
  4. Run Configurations -> Android -> Project -> Run