我試圖做簡單的遊戲在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
我測試我的應用程序在仿真器具有以下設置
請給我一個妥善的解決辦法感謝
我在測試設備中的應用程序,它做工精細。這意味着他們在仿真器中存在問題 – 2013-03-28 11:18:00
您是否創建了新的avd並對其進行測試 – ravi 2013-03-28 12:02:19
@Kirit,您電腦中的顯卡太舊,所以無法運行。你有一切正確的設置:1.主機GPU模擬。 2.針對Android 4.0.3+,3.爲您的主機,英特爾原子使用系統映像。 這是重複到http://stackoverflow.com/questions/12798089/android-error-in-andengine/12802063#12802063 – 2013-03-29 14:54:18