Android:如何在rooted设备上获取framebuffer(截图)?

Android:如何在rooted设备上获取framebuffer(截图)?,第1张

概述我试过了 : process = Runtime.getRuntime().exec("su -c cat /dev/graphics/fb0 > /sdcard/frame.raw");process.waitFor(); 但它不工作.我的设备是有根的. 我看到许多答案,它需要rooted访问,但没有实际的代码来获取framebuffer. 我也试过glReadPixels()但没有运气. p 我试过了 :
process = Runtime.getRuntime().exec("su -c cat /dev/graphics/fb0 > /sdcard/frame.raw");process.waitFor();

但它不工作.我的设备是有根的.

我看到许多答案,它需要rooted访问,但没有实际的代码来获取framebuffer.

我也试过glreadPixels()但没有运气.

public voID TakeScreen() {        displayMetrics dm = new displayMetrics();        getwindowManager().getDefaultdisplay().getMetrics(dm);        int wIDth = dm.wIDthPixels;        int height = dm.heightPixels;        int screenshotSize = wIDth * height;        ByteBuffer bb = ByteBuffer.allocateDirect(screenshotSize * 4);        bb.order(ByteOrder.nativeOrder());        gl.glreadPixels(0,wIDth,height,GL10.GL_RGBA,GL10.GL_UNSIGNED_BYTE,bb);        int pixelsBuffer[] = new int[screenshotSize];        bb.asIntBuffer().get(pixelsBuffer);        bb = null;        Bitmap bitmap = Bitmap.createBitmap(wIDth,Bitmap.Config.RGB_565);        bitmap.setPixels(pixelsBuffer,screenshotSize - wIDth,-wIDth,height);        pixelsBuffer = null;        short sBuffer[] = new short[screenshotSize];        ShortBuffer sb = ShortBuffer.wrap(sBuffer);        bitmap.copyPixelsToBuffer(sb);        for (int i = 0; i < screenshotSize; ++i) {            short v = sBuffer[i];            sBuffer[i] = (short) (((v & 0x1f) << 11) | (v & 0x7e0) | ((v & 0xf800) >> 11));        }        sb.rewind();        bitmap.copyPixelsFromBuffer(sb);        saveBitmap(bitmap,"/screenshots","capturedImage");    }
解决方法 似乎像你的问题是这样的迹象:>您不能使用exec重定向输出.您需要做的是抓取进程的输出流(这是您的输入流)并将其存储到文件中;
process = Runtime.getRuntime().exec("su -c cat /dev/graphics/fb0");inputStream is = process.getinputStream();...
总结

以上是内存溢出为你收集整理的Android:如何在rooted设备上获取framebuffer(截图)?全部内容,希望文章能够帮你解决Android:如何在rooted设备上获取framebuffer(截图)?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1133653.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存