【发布时间】:2012-01-02 04:47:30
【问题描述】:
我的带有 OpenGL 的应用程序都不适用于“名称已停止工作”。即使使用 Android 示例项目 (BasicGLSurfaceView) 也会发生这种情况。当我将项目加载到 Cclipse 并运行它们时,它们不起作用,但如果我运行模拟器并通过 API Demos 选择它,它会完美运行。运行最新的 Eclipse 和 API 14.0。这也发生在我看起来完美无瑕的应用中
这是从 BasicGLSurfaceView 中简单地加载到 Eclipse 中并运行
Logcat 崩溃-----------------
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 }
【问题讨论】:
-
你的代码中是否有这一行:
myGLSurfaceView.setEGLConfigChooser(true);在myGLSurfaceView.setRenderer(graphicsRenderer);之前?根据我的经验,模拟器不适合 openGL 的东西。与在实际设备上运行 openGL 应用程序相比,模拟器要慢得多,有时甚至会超时并且 android 认为您的应用程序已经崩溃。调试模式和/或在慢速计算机上都会降低模拟器的速度。我似乎记得在某一时刻,模拟器实际上并不支持 openGL-es 2.0 特定的东西。基本上,首先尝试让应用在设备上运行 -
得知模拟器不兼容gles 2
标签: android eclipse opengl-es emulation opengl-es-2.0