我想在android平台下做一个手机屏幕抓取软件,就是能够获得当前手机的显示信息和音频信息,(比如手机的桌面),然后同步的映射到PC上面去,在PC上还原。当手机的操作变化了时,pc上的显示也能够跟着变化。比如手机在打游戏,能够把手机的游戏画面同步的展示到pc上。
我是android的初学者,不知道怎么下手,希望高手给个思路。感激不尽!

解决方案 »

  1.   

    啊,这个截图,无root权限是要adb的,adb发个指令就行了获取framebuffer,你可以看下android ddms的源码
      

  2.   

    可以看一下这篇bloghttp://blog.csdn.net/liuwenhan999/archive/2011/04/19/6334525.aspx
      

  3.   

    我看了这个例子了,确实可以实现截屏,但是这是java项目实现的,移植到android就有问题了,因为android不支持 java.awt.image.BufferedImage; javax.imageio.ImageIO; 这两个包。不知道android里面有没有类似的包可以实现类似的功能
      

  4.   

    不是高手 在没有root权限下的话 。。只能依靠ddms里的库来获取屏幕 发送到电脑 然后绘制出来
    关于ddms截屏需要用到ddmlib.jar 里面有个方法getScreenShoot();
    具体看ddmlib的源码。。有root就简单多了。。直接获取设备节点(/dev/graphics/fb0) 发送到电脑绘制
      

  5.   


    我做pc同步软件的,答案都告诉你了,要不卖你个dll算了,封装给你个ActiveX控件。
      

  6.   

    不好意思,之前出差了趟,现在才来回复消息。通过adb的话,是需要jdk的吧,在手机上怎么用呢?我不是通过PC去截取手机的屏幕,我是想在手机上安装一个apk软件,然后运行这个软件即可截取手机的屏幕
      

  7.   

    即使有root,我想通过java应用程序来完成这个操作,可行吗?我知道java是不可能去获取framebuffer中的数据的, 但是,我想通过jni和ndk的方式,调用c程序来完成,不知可行不。请指教
      

  8.   

    当然可以  我自己就写过抓屏的程序  你随便封装一个jni接口就可以了.
      

  9.   

    结贴,通过framebuffer获取图像,这条路是可行的。