作者HUGOZVC (HUGO)
看板AndroidDev
标题[问题] 请问萤幕截图一定要root吗?
时间Mon Jun 18 23:29:21 2012
目前正在做一个萤幕截图的apk,
我是调用surfaceflinger的captureScreen。
在AndroidManifest.xml也有加上对frame buffer的读取的权限如下,
<uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
在有root的装置(ICS)上可以正确达到萤幕截图的功能,
不过一旦装到没有root的装置时(透过adb install)就失败了,
logcat显示错误讯息如下,
Permission Denial: can't read framebuffer
网路上查了一下,
有人说这可能是APK signature(签名)的问题,
在frameworks/base/core/res/AndroidManifest.xml中,
android.permission.READ_FRAME_BUFFER的protectionLevel是signatureOrSystem,
表示这个apk需要被安装在/system/app下?
或是这个apk需要拥有跟被安装装置一样的signature?
符合上述其一就可以拥有READ_FRAME_BUFFER的权限。
请问假如我想装在HTC One S上的话,
这个apk就必须拥有跟HTC One S一样的signature吗?
再查了一下signapk需要platform.x509.pem跟platform.pk8,
请问每个不同的device都有自己独立的platform.x509.pem跟platform.pk8吗?
有机会取得这两个档案吗?
如果上述的方法不可行的情况下,
有可能不用root而达到萤幕截图的功能吗?
烦请解惑,感激不尽~
※ 编辑: HUGOZVC 来自: 118.233.248.193 (06/18 23:33)
1F:→ vocaloid:如果不是rom provider... 有一招人家用过的 06/18 23:37
2F:→ vocaloid:就是提示使用者把手机接到电脑... 然後用你包好的script 06/18 23:38
3F:→ vocaloid:用adb把你抓图的程式丢到手机上然後叫起来 orz 06/18 23:39