前段时间接到任务要实现后台截图并上传的功能,在网上查了好久,发现遇到这类问题的人还不少。经过一番对比后发现还是修改并编译源码中的screencap类然后通过JNI来调用这种方法比较可靠,而其他的在java层实现的基本都是只能截取Activity,在service里是不行的,还有一个是在java层去读取framebuffer然后解析什么的,原理上和screencap是一样的,但是看到最后发现博主把关键的一步(把读取到的数据转换程像素)省略了,于是只好老老实实来用screencap了。
选择好方向接下来就看路要怎么走了。要在源码中编译,首先要有源码,由于特殊原因想直接下载源码比较困难,刚好同事有一份4.4.2的,于是就直接拿来用了,其实她也是在网上下的别人分享的,不过能用就好。源码包不到4G,解压后8G+。
编译环境:
ubuntu14.04 64位:当时个人电脑上刚好在用这个
JDK1.6 64位:必须这个版本,而且必须是oracle的(最起码这个版本的源码是这样)。
由于