我正在尝试调试OpenGL应用程序中的问题,并希望使用Android OpenGL Tracer详细查看它。 Tracer似乎最初工作正常并收集一些数据,但是当我尝试打开跟踪文件时,我收到以下错误:
解析OpenGL跟踪文件时出错
消息缺少必填字段。 (Lite运行时无法确定哪些字段丢失)。
这仅适用于此特定应用程序,而不适用于其他应用程序。最大的区别是这个应用程序使用OpenGL ES 3.
跟踪器和OpenGL ES 3.0是否存在普遍问题?这个错误有没有变通方法?
答案 0 :(得分:1)
我自己刚遇到这个错误并找到了解决方案。在AndroidManifest.xml中,使用以下标记的版本:
<uses-feature android:glEsVersion="0x00030000" android:required="true"/>
我的版本看起来像这样(需要记住的注意事项):
<!-- Tell the system this app requires OpenGL ES 3.1. -->
<!-- NOTE: This must be correct for the OpenGL ES Tracer to work properly -->
<uses-feature android:glEsVersion="0x00030001" android:required="true"/>
请参阅官方文档页面以获取参考:https://developer.android.com/guide/topics/graphics/opengl.html#manifest
此页面还包含有关该值的更多详细信息: https://developer.android.com/guide/topics/manifest/uses-feature-element.html
ANDROID:GLESVERSION 应用程序所需的OpenGL ES版本。较高的16位表示主要编号,较低的16位表示次要编号。例如,要指定OpenGL ES版本2.0,您可以将值设置为“0x00020000”,或者要指定OpenGL ES 3.2,您可以将值设置为“0x00030002”。