Java - 获取已连接的 Android 设备的屏幕截图

标签 java android screenshot

我正在尝试编写一个java程序来捕获所连接(通过USB)android设备的当前屏幕并将其保存在电脑中。 我正在寻找任何我可以使用的库或任何我可以遵循的教程。 我真的迷失在这里..

最佳答案

从ADB获取设备列表

IDevice[] devices = bridge.getDevices();

然后就可以获取特定设备的序列号

d.getSerialNumber()

然后捕获屏幕,

RawImage rawImage = device.getScreenshot();

将原始数据转换为图像

    BufferedImage image = new BufferedImage(rawImage.width, rawImage.height,
            BufferedImage.TYPE_INT_ARGB);

    int index = 0;
    int IndexInc = rawImage.bpp >> 3;
    for (int y = 0 ; y < rawImage.height ; y++) {
        for (int x = 0 ; x < rawImage.width ; x++) {
            int value = rawImage.getARGB(index);
            index += IndexInc;
            image.setRGB(x, y, value);

最后保存图片

ImageIO.write(image, "png", new File(filepath));

使用ddmlib.jar

来源: https://github.com/miracle2k/android-platform_sdk/blob/master/screenshot/src/com/android/screenshot/Screenshot.java

工作和图书馆可以在这里找到.. http://www.java2s.com/Code/Jar/d/Downloadddmlibjar.htm

关于Java - 获取已连接的 Android 设备的屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32606585/

相关文章:

java - Java 中 NaN 的数学规则

java - 如何保存 Gingerbread 上的果冻 bean 按钮设计

javascript - 使用 Parse.com 查询制作新闻源

android - 有没有办法在eclipse中自动化模拟器android

java - Apache Shiro 是否支持 bCrypt?

Java JTextField 长度和过滤器

java - 如何修改 JTextArea 中 Tab 键的行为?

android - ActionBar在Android 4.1和Android 4.0上显示和隐藏不同的效果-

ios - 为什么 ADEumScreenshotOperationsController 会发生崩溃?

android - 如何截取 Android 的 Surface View 的屏幕截图?