【问题标题】:Android OpenGL apps stop working after being loaded in emulatorAndroid OpenGL 应用程序在模拟器中加载后停止工作
【发布时间】: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


【解决方案1】:

我遇到了同样的问题...最后当我取消选中两个选项时,即使用主机 GPU 以及存储快照以加快启动速度...就是这样...它对我有帮助... 有关更多详细信息,请参见 http://on-android-opengl2.blogspot.in/2013/05/android-opengl-es-20-emulator.html

【讨论】:

    【解决方案2】:

    提示是:不要使用模拟器。连接您使用的设备。应该有关于设置的文档。之后,如果设备已插入,它会在您启动应用时显示。

    【讨论】:

    • 同意。它要快得多,而且您实际上可以在 生产 环境中测试所有内容!
    【解决方案3】:

    一年过去了,但我希望我能帮助其他不幸的人!

    您忘记在仿真中添加GPU emulation 硬件属性并将其值设置为yes。添加它们并尝试一下。

    【讨论】:

    • 太棒了。非常感谢!
    • 这绝对应该作为旁注出现在教程中!
    • @user1807862 这并不能为我解决问题。我可以很好地运行 open gl 1 但运行 2 给我与 OP 相同的错误。但是,您的建议无济于事。
    【解决方案4】:

    使用 adt 19 和 sdk 4.0.3 r3,模拟器现在支持 OpenGL。

    http://android-developers.blogspot.com/2012/04/faster-emulator-with-better-hardware.html

    确保在硬件属性中设置模拟器时添加 GPU 模拟并将值设置为是。

    http://developer.android.com/tools/devices/emulator.html

    【讨论】:

      【解决方案5】:

      问题和这里一样:

      Android OpenGL ES 2.0 emulator

      引用:

      正如 Google 自己所说,在 Android 官方文档中,Android 模拟器尚不支持 OpenGL ES 2.0 功能。

      请参考这个官方文档。

      http://developer.android.com/resources/tutorials/opengl/opengl-es20.html

      我希望这能回答你的问题。

      【讨论】:

        猜你喜欢
        • 2015-09-07
        • 1970-01-01
        • 2014-08-22
        • 1970-01-01
        • 2014-02-26
        • 2015-11-22
        • 2013-12-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多