Android自動化之遇到的坑——解決View Hierarchy不能啓動php
走心原創第11期
解決View Hierarchy不能啓動?
▲▲▲
求助:紅米爲何不能debug?
背景:html
我裝的是移動-開發版,已經獲取官方root權限。java
運行結果以下:android
我把本求助發到小米官方論壇,地址:shell
http://bbs.xiaomi.cn/forum.php?mod=viewthread&tid=9094823&pid=188718482&page=1&extra=page%3D1安全
ps:貌似找不到技術來解決。!!socket
———————————————————–ide
通過一翻搜索,得知:debug
若須要使用hierarchyviewer,須要手機上開啓對應的服務。3d
而,小米,不知搞什麼哦,我沒黑你,爲了搞這個,我花了半夜加一早上時間。
昨天搞了半夜解決:紅米在電腦上不能得到root權限,adb root not allowed
adb root問題解決方案:
http://seo.plar.cn/seo-2024.html
今天早上又出了新問題!!
正準備當磚頭賣了!
stop!解決方案以下:
方案:在手機上安裝:ViewServer.apk
注意:須要一直在手機後臺開着。
開啓ViewServer服務的ViewServer.apk在哪裏下載?各市場裏竟然沒有。。那麼就本身編譯一個吧。
android源代碼下載地址:
http://pan.baidu.com/s/1sjIulYl
提取碼:wrc8
注意:下載列表包含源碼,和可安裝的apk,可以直接使用。
本文解決問題:
Android View Hierarchy,解決View Hierarchy不能啓動。
-----------------------
View Hierarchy不能啓動的緣由
To preserve security, Hierarchy Viewer can only connect to devices running a developer version of the Android system
即:出於安全考慮,Hierarchy Viewer只能鏈接Android開發版手機或是模擬器(準確地說,只有ro.secure參數等於0且ro.debuggable等於1的android系統)。
Hierarchy Viewer在鏈接手機時,手機上必須啓動一個叫View Server的客戶端與其進行socket通訊。而在商業手機上,是沒法開啓View Server的,故Hierarchy Viewer是沒法鏈接到普通的商業手機。
Android源碼實現這一限制的地方在:
ANDROID源碼根目錄\frameworks\base\services\java\com\android\server\wm\WindowManageService.java
中的一段:
檢驗一臺手機是否開啓了View Server的辦法爲:
adb shell service call window 3
若返回值是:Result: Parcel(00000000 00000000 ‘……..’)」 說明View Server處於關閉狀態
若返回值是:Result: Parcel(00000000 00000001 ‘……..’)」 說明View Server處於開啓狀態
如果一臺能夠打開View Server的手機(Android開發版手機 、模擬器or 按照本帖步驟給系統打補丁的手機),咱們可使用如下命令打開View Server:
adb shell service call window 1 i32 4939
使用如下命令關閉View Server:
adb shell service call window 2 i32 4939
聽 說 看 了 這 個 號 可 以 幹 掉 領 導
· 猜你喜歡的文章 ·