亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android如何在root設備上開啟ViewServer詳解

發布時間:2020-08-25 17:20:02 來源:腳本之家 閱讀:212 作者:為何是Hex的昵稱 欄目:移動開發

前言

關于什么是Hierarchy Viewer,請查看官方文檔:http://developer.android.com/tools/debugging/debugging-ui.html。

個人理解:Hierarchy Viewer能獲得當前手機實時的UI信息,給界面設計人員和自動化測試人員帶來極大的便利。

Hierarchy Viewer 工具提供了一個可視化界面顯示布局的層次結構,讓我們可以進行調試,從而優化界面布局結構,它需要手機開啟 ViewServer 配合使用

但是在真機上并不能使用,Android的官方文檔中提到:出于安全考慮,Hierarchy Viewer只能連接Android開發版手機或者模擬器

在代碼中是在 WindowManagerService.java 類中做的限制,如下

private static final String SYSTEM_SECURE = "ro.secure";
private static final String SYSTEM_DEBUGGABLE = "ro.debuggable";
public boolean startViewServer(int port) {
 if (isSystemSecure()) { // 判斷系統是否是安全的
  return false;
 }
 // ... 
 try {
  mViewServer = new ViewServer(this, port);
  return mViewServer.start();
 } catch (IOException e) {
  Slog.w(TAG_WM, "View server did not start");
 }
 return false;
}
private boolean isSystemSecure() {
 return "1".equals(SystemProperties.get(SYSTEM_SECURE, "1")) &&
   "0".equals(SystemProperties.get(SYSTEM_DEBUGGABLE, "0"));
}

可以看到,在 isSystemSecure() 函數中,判斷了 ro.secure 和 ro.debuggable 的值

所以我們的思路就是

使 SystemProperties.get(SYSTEM_SECURE, "1") 返回 0

或者 SystemProperties.get(SYSTEM_DEBUGGABLE, "0") 返回 1

即可達到目的

這兩個屬性被定義在 /default.prop 文件中,每次系統啟動會被加載到內存中,之前看過一些修改 system 的方法,不過需要刷機,風險比較大,今天偶然返現一個工具 mprop

這個工具可以修改內存中一些屬性的值,但是在手機重啟后需要重新修改,不過這都是小事

依照工具內給定的步驟修改了 ro.debuggable 的值為 1 ,然后使用下面的命令

# 判斷手機是否開啟了view server,如果沒開啟則開啟
adb shell service call window 3 
# 返回 Result: Parcel(00000000 00000001 '........') 開啟
# 返回 Result: Parcel(00000000 00000000 '........') 關閉
# 開啟 ViewServer
adb shell service call window 1 i32 4939
# 關閉 ViewServer
adb shell service call window 2 i32 4939

機型:一加2 氧OS 6.0.1 ,其他不同型號不同系統需自行測試,不保證成功

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

江门市| 洞头县| 贡山| 扬中市| 鹤岗市| 平顺县| 义乌市| 长白| 高安市| 梁河县| 枞阳县| 延长县| 卢氏县| 姚安县| 柯坪县| 交城县| 西乌珠穆沁旗| 龙游县| 景德镇市| 前郭尔| 罗城| 滁州市| 鹤峰县| 曲松县| 华宁县| 阿勒泰市| 滕州市| 汝阳县| 牡丹江市| 茶陵县| 准格尔旗| 宝应县| 奎屯市| 彭山县| 威海市| 泽州县| 金堂县| 汾阳市| 正阳县| 鄯善县| 龙井市|