我工作的自动截图捕捉我的应用程序之一。
由于我希望捕获的有所不同,根据系统区域的一些活动和窗口小部件的屏幕截图,我开始与用于设置系统区域正确的属性的每个期望语言的新的Android虚拟设备(仿真器)。 然后,特定用户交互仿真与uiautomator 。
我的工作流程是否运作正常,但我有截图捕获的问题。 事实上,使用UiDevice.takeScreenshot(文件StorePath中)或撷取画面在模拟器上总是创建一个空文件。
这似乎是一个已知的问题与AVD启用了主机GPU上运行(这是我的情况)。 所提出的解决方法是先从禁用主机GPU仿真器。 不幸的是,当我开始禁用主机GPU的虚拟设备,仿真屏幕保持黑色。
我已经采取了看看模拟器的输出与-verbose
选项abd -e logcat
命令( 模拟器的输出 , logcat的输出 )。 在logcat的输出中我已经确定了以下错误,但我无法弄清楚它的原因:
E/SurfaceFlinger( 929): hwcomposer module not found
E/SurfaceFlinger( 929): ERROR: failed to open framebuffer (No such file or directory), aborting
下面是我用它来启动模拟器的命令:
LD_LIBRARY_PATH=$ANDROID_HOME/tools/lib:$LD_LIBRARY_PATH emulator -avd screenshots -skin nexus_6 \
-skindir $ANDROID_STUDIO_HOME/plugins/android/lib/device-art-resources -no-audio \
-prop persist.sys.language=en -prop persist.sys.country=en -verbose -qemu -m 512 -enable-kvm &
我运行Fedora 21了Nvidia的GPU。
是否有人已经成功开始与主机GPU最近的系统映像的虚拟的Android设备禁用? 任何帮助或建议表示欢迎。