0

最近在网上看一些教程的时候,看到这个视频提示Android SDK现在支持OpenGL ES 2.0:

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

热情地,我在我的模拟器中添加了“GPU Emulation”选项并尝试运行一个基本的 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
4

1 回答 1

0

我已经运行了代码,异常是由于模拟器仍然不支持 GLES20。如果您打印更多信息,您会发现这supportsEs2是错误的。

为什么即使GPU Emulation设置为 true 模拟器也不支持 GLES20 取决于系统。如果是在Linux上开发,可能和显卡有关。 是一个类似的问题,有一些可能的解决方案。至少你可以试试。

编辑:

根据官方网站,您需要将您的模拟器目标设置为 API 15 (rev03) 或更高版本。

于 2012-04-26T06:58:21.300 回答