проблемы со снимком экрана только при запуске некоторых приложений - PullRequest
0 голосов
/ 18 февраля 2019

У меня проблема с созданием скриншота в эмуляторе с некоторыми конкретными приложениями: создание скриншотов (через monkeyrunner или adb) работает нормально, если приложение не запущено (например, на домашнем экране), но вылетает в NullPointerException на monkeyrunner или возвращает файл 0 размера при получениискриншот через adb.Я проверил поведение, сделав снимок экрана, когда работают разные приложения, поэтому процесс создания снимков экрана в порядке.Проблема сохраняется при использовании другого рендерера, например, с -gpu swiftshader_indirect или -gpu guest поведение одинаковое, поэтому оно не связано с рендерером.Кроме того, я проверил поведение, используя несколько различных профилей AVD, например, Pixel, Pixel 2, Nexus 5X и несколько версий API (25, 27, 28).Использование эмулятора Android версии 28.0.22.0 (build_id 5194135) в Ubuntu 18.04.

Нет ошибки в оболочке adb, просто файл нулевого размера:

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

Есть идеи?

1 Ответ

0 голосов
/ 19 февраля 2019

Одна вещь, которая блокирует скриншоты / скринкасты - по крайней мере в части - это FLAG_SECURE.Если рассматриваемое приложение использует FLAG_SECURE, я ожидаю, что симптомы будут напоминать то, что вы видите.

...