Android emulator screenrecord在emulator中不工作

Android emulator screenrecord在emulator中不工作,android-emulator,screen-recording,Android Emulator,Screen Recording,自4.4 KitKat以来,Android有一个shell实用程序screenrecord来记录Android设备屏幕 如果我通过USB将物理设备与adb实用程序连接,我可以执行以下操作: adb shell screenrecord /sdcard/sample.mp4 adb pull /sdcard/sample.mp4 root@flo:/system/bin # ./screenrecord /sdcard/sample.mp4 [1]

自4.4 KitKat以来,Android有一个shell实用程序screenrecord来记录Android设备屏幕

如果我通过USB将物理设备与adb实用程序连接,我可以执行以下操作:

adb shell screenrecord /sdcard/sample.mp4
adb pull /sdcard/sample.mp4
root@flo:/system/bin # ./screenrecord /sdcard/sample.mp4                       
[1] + Stopped (signal)     ./screenrecord /sdcard/sample.mp4 
root@flo:/system/bin # 
[1] + Illegal instruction  ./screenrecord /sdcard/sample.mp4 
但是如果我为Android模拟器执行上述操作,我将得到一个空的sample.mp4文件

adb shell screenrecord /sdcard/sample.mp4
adb shell ls -l /sdcard/sample.mp4
-rw-rw---- root     sdcard_r        0 2016-06-18 05:37 sample.mp4
如果我在emulator的根控制台中直接执行screenrecord,我会看到以下内容:

adb shell screenrecord /sdcard/sample.mp4
adb pull /sdcard/sample.mp4
root@flo:/system/bin # ./screenrecord /sdcard/sample.mp4                       
[1] + Stopped (signal)     ./screenrecord /sdcard/sample.mp4 
root@flo:/system/bin # 
[1] + Illegal instruction  ./screenrecord /sdcard/sample.mp4 

为什么screenrecord不适用于emulator?

screenrecord使用MediaCodec API

确切地说,Screenrecord直接调用MediaCodec的本机接口


据我所知,还没有模拟器支持MediaCodec。它们都支持更高级别的界面MediaPlayer。

Screenrecord正在使用
Android Emulator v27.0.2


我已经用Google Play用Oreo x86和Google Play对它进行了测试,但是它应该可以与任何KitKat+图像一起使用。

AOSP问题61682:Screenrecord不能与emulator一起使用,不过你可以投赞成票