Android 屏幕截图 - 如何?

标签 android screenshot

是否有任何简洁的方法来访问 android 设备的屏幕截图 以编程方式。我正在寻找大约 15-20fps。

我找到了一个代码 android\generic\frameworks\base\services\surfaceflinger\tests\screencap\scr eencap.cpp, 我构建了可执行文件并将其放入/data 并更改了模式 777

但是当我尝试使用 adb shell 执行它时,它给出了以下错误。

# chmod 777 test-screencap 
chmod 777 test-screencap 
# ./test-screencap test 
./test-screencap test 
screen capture failed: Function not implemented 

我也知道我们可以访问 fb0 但它不是建议的正确方法 由安卓团队。是否可以访问框架中的屏幕截图 层。我相信 Surface Flinger 组成了各个层并将其提供给 framebuffer.Where 究竟是这样做的?应用程序是否可以访问 这样的代码。

还有一些 java 应用程序也使用 ddms 来实际捕获这个 没有根访问权限的帧缓冲区数据。但是fps真的很差。

我相信应该有一些或其他方式来完成上述工作。 请建议我一些巧妙的方法。欢迎提出建议。

最佳答案

如果您没有 root 手机,您将无法执行您正在尝试执行的操作,那里有一个应用程序可以执行您正在尝试的操作,Screenshot ER .最新的 OEM 正在将其放入他们的/system/apps 中......因此您可以使用他们的应用程序,查看此 article对于已启用此功能的设备。除此之外,你真的卡住了,但启用屏幕截图会产生影响,因为这可能会导致应用程序保存屏幕截图并发送该信息,从而启用病毒类型的应用程序......

其他人的信息 ...通过 Eclipse,您可以使用 DDMS 透视图获取屏幕截图。如果您看一下 Eclipse DDMS 代码库,它实际上也是一个独立的应用程序。届时您也许可以使用此 Java 代码。

AdbHelper.getFrameBuffer(AndroidDebugBridge.getSocketAddress(), this);

关于Android 屏幕截图 - 如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7552088/

相关文章:

javascript - 在网页上自动布局注释和标记

java - 使用 Picasso 加载图像

java - 在 Android 上序列化复杂对象 (Java)

android - iOS Mobile Safari背景图片位置与CSS

javascript - 使用 HTML5/Canvas/JavaScript 在浏览器中截屏

python - 用vba截取一个html文件

android - 致命异常 : java. lang.NoClassDefFoundError

android - SharedLib 依赖@混合模式 APK

html - D3截图转PDF

screenshot - Selenium 2 : Taking screenshots with selenium grid 2