android js调试
http://blog.allenm.me/
其他平臺去這篇文章看
1 //js調試調試功能支持4.4版本以上的 2 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 3 WebView.setWebContentsDebuggingEnabled(true); 4 } 5 //js生效 6 webView.getSettings().setJavaScriptEnabled(true); 7 //讓 h5頁面中的 alert生效 8 webView.setWebChromeClient(new WebChromeClient(){ 9 @Override 10 public boolean onJsAlert(WebView view,String url,String message,JsResult result) 11 { 12 return super.onJsAlert(view,url,message,result); 13 } 14 }); 15 webView.loadUrl("file:///android_asset/cpsc/index.html");?
?
Android 平臺
Chrome Mobile
Chrome for android 32 以及之后的版本具有遠程調試的功能,你需要做的是:
- 開啟 Android 的 USB 調試功能。
- 用 USB 先連接到你的電腦(windows 用戶需要安裝 Android 驅動)。
- 在 Chrome for android 上打開你要調試的網頁。
- 在電腦上打開 chrome (同樣最低需要 32 版本),進入 菜單 -> 工具 -> 檢查設備 頁面,確保 Discover USB devices 被勾選
如果設置正確的話,現在就可以看到你手機上打開的頁面了,點擊 inspect 進入我們熟悉的 Chrome develper tools 。
由于 Android 手機各種各樣,如果遇到麻煩,請仔細閱讀?官方文檔
Android Webview
Android 4.4 開始,默認的瀏覽器已經是 chrome 了,所以 webview 也是 chrome 了,這就給了 webview 遠程調試的能力。我們需要在 Android 里針對 Webview 做以下設置:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true); }然后在你的 App 里打開要調試的頁面,其余步驟和使用 Chrome for Android 一樣,進行遠程調試。
使用 Android 模擬器
鑒于目前 Android 4.4 的手機還比較少,你可以選擇使用模擬器來進行調試。官方的模擬器太慢,推薦大家使用?genymotion?, X86 架構的模擬器,速度和真機沒什么兩樣了。對于只做 webview 調試的前端來說,只需要使用個人免費版就可以了。
其他方式
如果你的調試條件不能滿足上面講的任何一種,還可以使用?weinre?。只需要在頁面里插入一段腳本,就可以進行遠程調試,基本沒其他限制。但是使用這個也是有明顯的缺點的:
- 不能給 javascript 打斷點,基本只能用 console 來調試
- 不支持查看元素的樣式是寫在 css 第幾行,也不支持顯示在哪個文件
- 由于是通過網絡來連接的,所以在調試移動網絡的情況時,不好操作(需要服務端運行在一個移動網絡可以訪問到的機器上)
總之,weinre 僅僅適用于你沒辦法使用 Safari 或者 Chrome 進行遠程調試的情況下,聊勝于無,調試 Android hybrid APP 時,經常會遇到這個情況。
總結
綜上所述,可以根據下圖來選擇最優的調試方案:
由于我目前只接觸了 iOS 和 Android 平臺的開發調試,其他的移動平臺不了解,所以本文沒涉及到 windows phone 等平臺。歡迎大家留言或者 email 交流各種遠程調試方案。
?
總結
以上是生活随笔為你收集整理的android js调试的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 常用工具类的使用一
- 下一篇: [redis设计与实现][7]基本数据结