仅在某些特定应用程序运行时才截取屏幕截图

问题描述 投票:0回答:1

我在使用某些特定应用程序在模拟器中截取屏幕截图时遇到问题:截屏(通过monkeyrunner或adb)如果应用程序未运行(例如在主屏幕上),但在monkeyrunner上崩溃到NullPointerException,或者在通过截屏时返回0大小的文件,则工作正常亚洲开发银行。我已经通过在不同的应用程序运行时截屏来验证行为,因此截取屏幕截图的过程很好。使用不同的渲染器时问题仍然存在,例如:使用-gpu swiftshader_indirect或-gpu guest的行为是相同的,因此它与渲染器无关。此外,我已使用多个不同的AVD配置文件检查了行为,例如Pixel,Pixel 2,Nexus 5X和多个API版本(25,27,28)。在Ubuntu 18.04上使用Android模拟器版本28.0.22.0(build_id 5194135)。

adb shell中没有错误,只有零大小的文件:

generic_x86:/ $ screencap -p /sdcard/screen.png
generic_x86:/ $ ls -la /sdcard/screen.png
-rw-rw---- 1 root sdcard_rw 0 2019-02-18 15:29 /sdcard/screen.png

Monkeyrunner输出如下:https://kajala.com/monkeyrunner-output.txt

有任何想法吗?

android android-emulator adb monkeyrunner
1个回答
0
投票

阻止屏幕截图/截屏视频 - 至少是in part - 的一件事是FLAG_SECURE。如果有问题的应用程序使用FLAG_SECURE,我会期待症状让人联想到你所看到的。

© www.soinside.com 2019 - 2024. All rights reserved.