[問題] 請問螢幕截圖一定要root嗎?

看板AndroidDev作者 (HUGO)時間13年前 (2012/06/18 23:29), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串1/3 (看更多)
目前正在做一個螢幕截圖的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)

06/18 23:37, , 1F
如果不是rom provider... 有一招人家用過的
06/18 23:37, 1F

06/18 23:38, , 2F
就是提示使用者把手機接到電腦... 然後用你包好的script
06/18 23:38, 2F

06/18 23:39, , 3F
用adb把你抓圖的程式丟到手機上然後叫起來 orz
06/18 23:39, 3F
文章代碼(AID): #1FtqbJT2 (AndroidDev)
文章代碼(AID): #1FtqbJT2 (AndroidDev)