H5App除錯方法參考
H5除錯常見方法
相較於pc端,移動端除錯要更加豐富一些,下面對除錯的方法進行簡單彙總。
主要分為以下幾點:
chrome developer tools
android+chrome inspect
iOS+safari
GapDebug
weinre
weinre相關套件
代理
chrome developer tools
除了chrome,Firefox中的除錯工具也較為類似,Firefox有個小優勢就是代理工具charles支援直接開啟Firefox的代理服務(需要安裝Firefox的charles外掛)。
特點
除錯簡單,進行響應式佈局、效能優化、網路環境模擬等比較方便,缺點是非真機無法除錯webviewjsbridge及發現真機中存在的問題。
適用範圍
頁面響應式除錯,適合開發初始階段,還可進行效能優化分析,前端開發乃至後端開發人員必備技能。
android+chrome inspect
===
特點
使用chrome inspect除錯android裝置(包括模擬器)中的網頁,訪問chrome://inspect
即可看到連線裝置以及可除錯頁面。
初次使用chrome inspect需要翻牆
適用範圍
除錯4.4以上版本android裝置上app內的webview及chrome中的網頁。
除錯webview需要開啟app的debug模式,WebView.setWebContentsDebuggingEnabled(true);
模擬器
目前常用的為genymotion,基於virtualbox核心,所以首先需要安裝virtualbox。genymotion對virtualbox啟動的模擬器作了一系列優化工作,比如ROM下載、移動裝置模擬命令選單(比如旋屏、開啟攝像頭)等。 另外還有Parallels可供選擇,也能下載android ROM進行安裝。
iOS+safari
特點
使用pc端的safari除錯iOS裝置中的網頁,可進行真機遠端除錯,也可除錯模擬器。
適用範圍
除錯iOS裝置(包括模擬器)上的webview及safari中的網頁。
如果除錯safari,直接開啟模擬器,使用pc中的safari就可識別到除錯網頁,而除錯webview,則需要安裝debug包(由於是執行在pc上,需x86打包)。
簡單步驟如下:
安裝xcode命令列工具 xcode-select –install
建立模擬器 xcrun simctl create “demo”
啟動模擬器 xcrun instruments -w `demo`
安裝app xcrun simctl install booted /path/to/Your.app
GapDebug
特點
跨平臺,應用是個web頁面,同時整合了Safari和Chrome的除錯工具,可執行在windows和mac平臺上
依賴少,只需一個Chrome就能使用Safari和Chrome的除錯工具
統一管理,在同個介面顯示了iOS裝置和Android裝置及其除錯頁
一些實用小功能,如截圖、裝置控制、app安裝等
適用範圍
iOS裝置和4.4以上版本Android裝置(及其模擬器)上的webview和網頁。
weinre
特點
適用範圍廣,在除錯頁面中載入weinre提供的一個js指令碼,即可在weinre inspect皮膚中進行除錯。
安裝步驟如下(npm安裝方式):
安裝 npm install -g weinre
啟動 weinre –boundHost -all-
,預設埠是8080,可新增配置–httpPort 8888
改變埠為8888
配置指令碼 訪問http://localhost:8080
,將target script加入到除錯頁面中
詳細配置及其它安裝方式可參見官方文件
適用範圍
一般在開發過程中進行除錯,不支援USB除錯的真機裝置可用該方法,官方宣告可除錯的範圍如下:
Android 2.2 Browser application
Android 2.2 w/PhoneGap 0.9.2
iOS 4.2.x Mobile Safari application
BlackBerry v6.x simulator
webOS 2.x (unspecified version)
weinre相關套件
MIHTool
MIHTool是weinre的app整合版本,僅有iOS版本可供安裝,例舉幾個特點:
自動注入weinre所需指令碼
支援webview js bridge api的模擬(如果app端還未完成開發)
支援在控制檯直接require各種包方便除錯、ipad端支援
ipad端還支援在裝置中顯示類似chrome的開發者工具
與第4點類似提供裝置中的開發者工具顯示,還有eruda,可以訪問http://liriliri.github.io/eruda/檢視效果。
spy-debugger
spy-debugger是weinre的擴充套件版,執行
npm install spy-debugger -g
即可完成安裝,啟動後配置裝置代理即可進行除錯。 主要特點如下:
通過代理攔截html自動注入所需除錯指令碼
整合了代理功能,預設使用AnyProxy,也可配置其他代理
支援https,可攔截webview及瀏覽器發起的請求
代理
以上涉及移動端裝置(包括模擬器)的除錯方式均可配合代理一同使用,在移動端裝置中配置http/https代理,將線上資源代理到本地,使改動即時生效並看到效果。
常用的代理工具主要有fiddle和charles,代理工具上提供的功能很多,但除錯過程中的開啟方式一般有以下兩種:
直接設定裝置的代理伺服器為本機,截獲請求查詢資料,排查異常資訊,屬於問題定位階段
除了設定代理伺服器,另外配置一些資源的代理路徑為本地資源,實時檢視程式碼執行情況,屬於問題解決階段, 平時開發過程也可用該方法代理線上資源進行除錯
總結
上面對各類除錯方法進行了大致介紹,每個方法都有各自的特點和適用場景。
響應式除錯中,使用Chrome DevTools即可快速檢視多裝置顯示效果和實時調節,另外還有Ghostlab也是響應式除錯的好工具,有著和broswer-sync一樣的多裝置多視窗同步功能;
進一步的真機(模擬器)除錯,高版本Android裝置配合chrome,iOS裝置配合Safari,使用GapDebug則更為方便,統一了iOS和Android裝置的除錯入口;
而其它無法使用chrome和Safari進行除錯的情況,比如一些低端機型的相容問題,使用weinre或其相關套件進行除錯;
再配合代理的資源本地對映,能夠更為方便地除錯線上環境出現的問題;
實際開發中,還是需要在合適的時機選擇合適的除錯方式。
相關文章
- 質量管理不錯的參考
- TIDB 考試 參考TiDB
- OSI參考模型和TCP/IP參考模型模型TCP
- javamail參考JavaAI
- 【RAC】Oracle10g rac新增刪除節點命令參考Oracle
- c 語言除錯方法(除錯 PHP 底層、擴充套件)除錯PHP套件
- WebApiClient效能參考WebAPIclient
- OSI參考模型模型
- H5App混合開發JS或TS呼叫原生方法H5APPJS
- iOS 常用除錯方法:LLDB命令iOS除錯LLDB
- Apache httpclient的execute方法除錯ApacheHTTPclient除錯
- 006 Web Assembly之除錯方法Web除錯
- Android 中 WebView 的除錯方法AndroidWebView除錯
- python五種除錯或排錯的方法Python除錯
- 模擬考試參考程式碼
- JVM引數設定的一些參考方法JVM
- Blender參考API用法API
- LVS - ipvsadm命令參考
- Oracle ASMCMD命令參考OracleASM
- SQL優化參考SQL優化
- openGauss ODBC介面參考
- Latex—參考文獻
- CloudBeaver 參考架構Cloud架構
- 參考文獻合集
- echarts markLine參考線Echarts
- PyQtGraph繪圖參考QT繪圖
- oracle 參考資料Oracle
- 移動端除錯方法彙總除錯
- 移動端除錯方法補充除錯
- HanLP-地名識別除錯方法HanLP地名識別除錯
- GDB除錯基礎使用方法除錯
- iOS 常用除錯方法:靜態分析iOS除錯
- UE Puerts 在 Android 的除錯方法Android除錯
- 【除錯】ftrace(一)基本使用方法除錯
- 不同Java除錯方法總結 - VardhanJava除錯
- Java程式中除錯Python程式方法Java除錯Python
- 除錯篇——除錯物件與除錯事件除錯物件事件
- C/C++ 程式反除錯的方法C++除錯
- Vue生產環境除錯的方法Vue除錯