2012-04-26 82 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