簡圖如下:
webkey版本:3.2.17
條件:需要root權限
調查結論:如果app是由我們自己寫,那麽root不是必須的。系統app是可以通過share system-uid的方式獲取需要的權限!此方式第三方app是無法實現的,因為每個簽名文件是不壹樣的。
root不是必須的條件!!
權限的問題主要在於:Camera端收到瀏覽器端發送的按鍵觸摸事件時,需要下發到Android系統,該動作需要高級別的系統權限,第三方app是沒有這個權限的。(這是android系統出於安全的考慮,才做出的限制!)
壹、舊(Z2上正常工作的版本)webkey安裝在Z3 :
加上systemUID然後重新打包,做系統簽名, 登錄界面出來了,但是不能鏡像!
後面做了很多嘗試,根據error-log補上缺失的幾個so庫(libskia.so、libicuuc.so)、缺失的文件等等,還是無法正常運行。
基本判定,舊版本是無法兼容android-10的!!
二、Webkey官網最新APP驗證:
如果通過局域網控制,需要安裝Google-play並付費!!
三、找最新的能兼容android-10的Webkey:
呂建搞定了,用新版本的WebKey可以工作了!!!
Z2 3.2.17 OK
Z3 3.7.15 OK
Z3 3.10.7 NG
訪問的地址由之前的http變成了https!!
該項工作的意義 :
目前Z2是root版本,升級是通過OTA全包升級。但是有壹個很重大的問題是,壹個超市有幾百個機器,都采用全包升級,帶寬不夠,要升級很久,需要壹批壹批的升級。這樣造成了非常大的麻煩。
之所有選擇全包升級,原因就是被root的機器只能全包升級,不能做差分包。
如果機器不需要root,那麽我們就可以做差分升級了!!
驗證方式:
通過修改su文件的名字,來讓webkey走非root流程!
1.app截屏的權限
android5.0之後,第三方app可申請權限進行獲取,無需root和特殊權限!
2.下發按鍵or觸摸事件的權限:
需要root,或者添加system-uid並簽上platform簽名
目前Z3上使用的是Android原生的簽名(即Google的簽名)
這樣是有壹定的風險,別的開發者可以拿到系統權限(簽Google簽名)!
壹、如果在root方式下工作,那麽下面方案是可行的:
二、如果想在Z3非root版本上正常工作,需要條件如下: