2011-11-20 90 views
11

我的OpenGL應用程序都不能使用「名稱已停止工作」。即使使用Android示例項目(BasicGLSurfaceView),也會發生這種情況。當我將這些項目加載到Cclipse中並運行它們時,它們不起作用,但是如果我運行模擬器並通過API Demos選擇它,它可以很好地工作。運行最新的Eclipse和API 14.0。這也恰好與我的應用程序中出現無瑕Android OpenGL應用程序在加載模擬器後停止工作

這是從簡單地加載到Eclipse中,並在碰撞運行

logcat的BasicGLSurfaceView -----------------

11-19 21:35:52.887: E/AndroidRuntime(556): FATAL EXCEPTION: GLThread 75 
11-19 21:35:52.887: E/AndroidRuntime(556): java.lang.IllegalArgumentException: No configs match configSpec 
11-19 21:35:52.887: E/AndroidRuntime(556): at android.opengl.GLSurfaceView$BaseConfigChooser.chooseConfig(GLSurfaceView.java:825) 
11-19 21:35:52.887: E/AndroidRuntime(556): at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:981) 
11-19 21:35:52.887: E/AndroidRuntime(556): at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1335) 
11-19 21:35:52.887: E/AndroidRuntime(556): at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1189) 

控制檯------------------------------

[2011-11-19 21:34:40 - BasicGLSurfaceView] New emulator found: emulator-5554 
[2011-11-19 21:34:40 - BasicGLSurfaceView] Waiting for HOME('android.process.acore') to be launched... 
[2011-11-19 21:35:16 - BasicGLSurfaceView] WARNING: Application does not specify an API level requirement! 
[2011-11-19 21:35:16 - BasicGLSurfaceView] Device API version is 14 (Android 4.0.1) 
[2011-11-19 21:35:16 - BasicGLSurfaceView] HOME is up on device 'emulator-5554' 
[2011-11-19 21:35:16 - BasicGLSurfaceView] Uploading BasicGLSurfaceView.apk onto device 'emulator-5554' 
[2011-11-19 21:35:16 - BasicGLSurfaceView] Installing BasicGLSurfaceView.apk... 
[2011-11-19 21:35:49 - BasicGLSurfaceView] Success! 
[2011-11-19 21:35:50 - BasicGLSurfaceView] Starting activity com.example.android.basicglsurfaceview.BasicGLSurfaceViewActivity on device emulator-5554 
[2011-11-19 21:35:52 - BasicGLSurfaceView] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.android.basicglsurfaceview/.BasicGLSurfaceViewActivity } 
+1

你有這樣一行:'myGLSurfaceView.setEGLConfigChooser(真);''之前myGLSurfaceView.setRenderer(graphicsRenderer);在你的代碼'?根據我的經驗,模擬器不適合openGL的東西。與在實際設備上運行OpenGL應用程序相比,仿真器速度要慢很多,有時甚至到了超時的時候,android會認爲你的應用程序崩潰了。調試模式和/或在慢速計算機上都會使仿真器變慢。我似乎還記得,甚至有一點,模擬器實際上並不支持openGL-es 2.0特定的東西。基本上,嘗試讓設備先運行在設備上 –

+0

瞭解到模擬器不兼容gles 2 – user1055947

回答

20

一年過去了,但我希望我可以幫助其他不幸的傢伙!

您忘記了在模擬中添加GPU emulation硬件屬性並將其值設置爲yes。添加它們並嘗試它。

+0

太棒了。非常感謝! – JavaRunner

+0

這應該肯定會在教程中作爲旁註! – Thierry

+0

@ user1807862這不適合我。我可以運行打開gl 1,但運行2給了我與OP一樣的錯誤。然而,你的建議並沒有幫助。 – michaelsnowden

2

提示是:不要使用模擬器。連接你使用的設備。應該有關於設置的文檔。之後,如果設備已插入,它將在您啓動應用程序時顯示。

+0

同意。它要快得多,你實際上在**製作**環境中測試了一切! –

相關問題