【发布时间】:2012-03-20 02:03:07
【问题描述】:
我需要能够进行屏幕转储以进行测试,而 ICS 现在有一个屏幕截图功能,可以通过按下(并按住)降低音量和电源按钮来调用它。 有没有办法通过 adb 编写这个函数的脚本? (据我了解,它没有公共的 Java API)。我尝试使用 java 中的 KeyEvent 来模拟电源和音量按钮,并且我尝试使用 adb keyevent 和 adb sendevent 没有成功。我怀疑电源按钮也会产生一些上述方法没有产生的低级调用。
那么有谁知道是否可以从 adb 调用该函数? 如果这不可能,有人知道这个屏幕截图功能在源代码中的哪里存在吗?也许我可以通过阅读找到一些东西。
更新
用于捕获屏幕的源代码位于“frameworks/base/services/surfaceflinger/services/surfaceflinger/SurfaceFlinger.cpp”中的一个名为 screenCapture 的函数中。我不知道是否可以从jni调用它,但我会尝试,因为如果我可以通过java截屏会很棒。
否则,@edthethird 通过 android.amberfog.com/?p=168 提供了一个解决方案,可以使用命令行截屏。
感谢大家的帮助!
【问题讨论】:
标签: android screenshot adb android-4.0-ice-cream-sandwich