我正在尝试使用OpenGL ES Tracer,但它不会收集任何数据。我进入下面的屏幕,但跟踪文件仍然是emtpy:
我也尝试使用Google的OpenGLES20Complete示例应用程序来排除我的应用程序的任何特定内容导致此问题,但它只是不起作用。
我正在关注the documentation for the OpenGL ES Tracer,除了我正在使用IntelliJ IDEA并从那里启动Monitor工具。我正在使用带有Android 4.2的Nexus 10,因此它符合最低版本要求。
我现在还设法在另一台设备(Cyanogenmod 10上的三星Galaxy i9000)上试用它,并且OpenGL跟踪工作正常。因此,似乎有一些特定于Android设备上运行的硬件或操作系统的功能,禁用或启用跟踪。
我必须采取进一步的步骤或设置来完成这项工作吗?可能是什么原因导致我无法收集任何OpenGL痕迹?
答案 0 :(得分:4)
我会检查logcat中的输出,看看是否有任何可疑的事情发生。否则,您可以从shell中尝试以下操作:
$ adb shell
$ am start --opengl-trace com.app.package/com.app.package.Activity
此时您应该会看到您的应用已启动,但正在等待来自主机的连接。然后,您可以使用监视工具,并在跟踪连接对话框中,只需使用关键字system
代替程序包名称即可连接到正在运行的任何内容。
请注意,您的应用必须是可调试的。
答案 1 :(得分:2)
我认为这可能是Jelly Bean 4.2.2的回归。我在我的Galaxy Nexus和Nexus 7上遇到了同样的问题,然后我使用fastboot将我的Galaxy Nexus降级到Android 4.1.2并且谷歌的ROM和跟踪器再次运行。我在这里打开了一个错误报告:https://code.google.com/p/android/issues/detail?id=53426
答案 2 :(得分:-1)
转到设备上的Developer Settings,然后在Enable OpenGL traces选项上选择Logcat或Systrace。