我的应用允许用户截取屏幕截图然后发送到服务器。
在真实设备上,屏幕截图保存在/storage/emulated/0/Pictures/Screenshots/
,这样就可以了。
但是在模拟器上,当我点击截屏按钮(位于模拟器旁边的面板中)时,屏幕截图会保存到我的电脑中,但我无法在任何地方找到它在模拟器的文件系统中 - /storage/emulated/0/Pictures/
目录存在,但/storage/emulated/0/Pictures/Screenshots/
子目录不存在。
我有什么办法可以在模拟器上访问屏幕截图,还是有其他方法可以截取屏幕截图?
答案 0 :(得分:6)
答案 1 :(得分:3)
模拟降低音量+电源事件以触发Android的屏幕截图,然后屏幕截图将存储在模拟器的/storage/emulated/0/Pictures/Screenshots
中。
这是脚本。运行adb shell
,然后复制下面的代码并运行,您应该看到模拟器开始截取屏幕截图。
cat > /data/local/tmp/screenshot.sh <<EOF
#!/bin/sh
echo 'volume key: down'
sendevent /dev/input/event1 1 114 1
echo 'power key: down'
sendevent /dev/input/event1 1 116 1
sendevent /dev/input/event1 0 0 0
sleep 1
echo 'volume key: up'
sendevent /dev/input/event1 1 114 0
echo 'power key: up'
sendevent /dev/input/event1 1 116 0
sendevent /dev/input/event1 0 0 0
EOF
sh /data/local/tmp/screenshot.sh
注意:我的模拟器的输入设备是&#34; / dev / input / event1&#34;,这可能与其他设备不同。您可以通过运行adb shell getevent
命令获取设备信息,然后按模拟器的键,输出将是这样的(我的音量减小键,这些是十六进制数字,因此0x0072是114d):< / p>
/dev/input/event1: 0001 0072 00000001
/dev/input/event1: 0000 0000 00000000
/dev/input/event1: 0001 0072 00000000
/dev/input/event1: 0000 0000 00000000
答案 2 :(得分:3)
答案 3 :(得分:2)
答案 4 :(得分:0)
对模拟设备使用adb screencap
命令,这应该将屏幕捕获存储在设备本身上,以便您测试应用程序。
答案 5 :(得分:0)
模拟器设置 > 设置 > 常规 > 截图保存位置 > '您的文件路径'
希望它能奏效。
答案 6 :(得分:-1)
截取屏幕截图 在许多Android设备上,您可以使用键组合捕获屏幕截图:同时按住电源和音量调低。您还可以使用Android Studio捕获屏幕截图,如下所示:
在连接的设备或模拟器上打开您的应用。如果使用连接的设备,请确保已启用USB调试。 在Android Studio中,选择查看&gt;工具窗口&gt; Android Monitor打开Android Monitor。 从窗口顶部的下拉列表中选择设备。 单击窗口左侧的“屏幕捕获”。 屏幕截图显示在屏幕截图编辑器窗口中。
https://developer.android.com/studio/debug/am-screenshot.html
Taking screenshot on Emulator from Android Studio