2012-04-26 93 views
0

最近同時在線閱讀一些教程,我看到這個視頻這表明Android的SDK現在支持OpenGL ES 2.0:支持OpenGL ES 2.0的Android SDK模擬器?

http://www.youtube.com/watch?feature=player_embedded&v=T--vFtyZvc4

增色不少,我在模擬器中添加了「GPU仿真」選項,並試圖運行基本的應用程序HelloOpenGLES20但是我是用這個錯誤招呼,有的空指針例外,沒有任何意義:

Sorry! 
The application 
LessonOneActivity (process 
lesson.One has stopped 
unexpectedly. Please try again. 

Force close 

該應用程序運行在真正的Android手機上顯示精紡紗一些三角形,我想知道是否有人遇到過問題我面對,我已經做了谷歌搜索的公平份額,但找不到任何解決方案=(

這裏的日誌:

04-26 06:42:08.782: D/AndroidRuntime(577): Shutting down VM 
04-26 06:42:08.813: W/dalvikvm(577): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
04-26 06:42:08.842: E/AndroidRuntime(577): FATAL EXCEPTION: main 
04-26 06:42:08.842: E/AndroidRuntime(577): java.lang.RuntimeException: Unable to resume activity {lesson.One/com.learnopengles.android.lesson1.LessonOneActivity}: java.lang.NullPointerException 
04-26 06:42:08.842: E/AndroidRuntime(577): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2120) 
04-26 06:42:08.842: E/AndroidRuntime(577): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2135) 
04-26 06:42:08.842: E/AndroidRuntime(577): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1668) 
04-26 06:42:08.842: E/AndroidRuntime(577): at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
04-26 06:42:08.842: E/AndroidRuntime(577): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
04-26 06:42:08.842: E/AndroidRuntime(577): at android.os.Handler.dispatchMessage(Handler.java:99) 
04-26 06:42:08.842: E/AndroidRuntime(577): at android.os.Looper.loop(Looper.java:130) 
04-26 06:42:08.842: E/AndroidRuntime(577): at android.app.ActivityThread.main(ActivityThread.java:3683) 
04-26 06:42:08.842: E/AndroidRuntime(577): at java.lang.reflect.Method.invokeNative(Native Method) 
04-26 06:42:08.842: E/AndroidRuntime(577): at java.lang.reflect.Method.invoke(Method.java:507) 
04-26 06:42:08.842: E/AndroidRuntime(577): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
04-26 06:42:08.842: E/AndroidRuntime(577): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
04-26 06:42:08.842: E/AndroidRuntime(577): at dalvik.system.NativeStart.main(Native Method) 
04-26 06:42:08.842: E/AndroidRuntime(577): Caused by: java.lang.NullPointerException 
04-26 06:42:08.842: E/AndroidRuntime(577): at android.opengl.GLSurfaceView.onResume(GLSurfaceView.java:512) 
04-26 06:42:08.842: E/AndroidRuntime(577): at com.learnopengles.android.lesson1.LessonOneActivity.onResume(LessonOneActivity.java:46) 
04-26 06:42:08.842: E/AndroidRuntime(577): at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1150) 
04-26 06:42:08.842: E/AndroidRuntime(577): at android.app.Activity.performResume(Activity.java:3832) 
04-26 06:42:08.842: E/AndroidRuntime(577): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2110) 
04-26 06:42:08.842: E/AndroidRuntime(577): ... 12 more 
04-26 06:42:13.292: I/Process(577): Sending signal. PID: 577 SIG: 9 
+0

您能否發佈例外信息? – peter 2012-04-26 06:38:09

+0

這是日誌! – Hobbyist 2012-04-26 06:44:07

回答

0

我已經運行的代碼,異常是由於事實上仿真器仍然不支持GLES20。如果您打印更多信息,則會看到supportsEs2爲假。

爲什麼仿真器不支持GLES20,即使GPU Emulation設置爲true也取決於系統。如果你在Linux上開發,它可能與圖形卡有關。 Here是一個類似的問題,有一些可能的解決方案。至少你可以試試它。

編輯:

the official site,你需要你的模擬器的目標設定爲15 API(rev03)或更高。

+0

噢好吧,我想那就是=( 我不是在Linux上,但感謝您的幫助! – Hobbyist 2012-04-26 07:10:22

+0

我終於找到了問題,事實證明這是我的防火牆引起的一些奇怪的衝突,當我關閉它時,該應用程序運行完美,現在我只需要找到一種方法,使他們很好地播放,而不必關閉我的zonealarm ... – Hobbyist 2012-04-26 09:20:51

+0

防火牆?好吧,很高興你能解決,儘管我有點困惑。 – peter 2012-04-26 11:53:41