android webview遠端偵錯

來源:互聯網
上載者:User

標籤:des   android   blog   http   os   io   檔案   問題   

H5的調試的方式一般用chrome的emulator就好,可是遇到APP就拙計了。這時候還得用遠端偵錯,遠端偵錯很給力,不過目前網上還沒有好的文章講解,要好好的把其配置下來還是非常有難度的,今天折騰了半天,終於弄好,分享一下
配置需求

話說其配置也是非常有考究的,和ios開發一樣,都是有門檻的貨,告訴大家屌絲誤入,不過這個條件作為屌絲的我也算是打了擦邊球,唯一要求就是android系統要4.0以上才支援

app代碼

如果需要調試那麼,代碼中一定要先在,apk產生前的開發包中的manifest.xml檔案中加入如下兩句

{    "name": "My extension",    …    "permissions": [      "debugger",    ],    …}

重點是permissions和其他的功能一樣都要註冊一下先,參考https://developer.chrome.com/extensions/debugger

然後還要在Main檔案裡加上這個句,表示在android中啟動這個功能,話說app的開發有點廢柴,這種代碼又難記又和功能耦合的緊,非ctrl+c,ctrl+v如何破,詳情https://developer.chrome.com/devtools/docs/remote-debugging#debugging-webviews

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {    if ( 0 != ( getApplcationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE ) ) {        WebView.setWebContentsDebuggingEnabled(true);    }}
安裝裝置驅動

插上裝置的USB後進行OEM的安裝,很多自動更新驅動不要信啊,從這裡下驅動http://developer.android.com/tools/extras/oem-usb.html 安裝方式【以win7為例】

  • 1.連結裝置
  • 2.點擊我的電腦右鍵選擇管理
  • 3.選擇裝置管理員
  • 4.找到相應的裝置後
  • 5.點擊右鍵選擇更新驅動軟體
  • 6.選擇瀏覽電腦以尋找驅動程式軟體  (根據這裡面的說明安裝http://developer.android.com/tools/extras/oem-usb.html)我由於是googleNesus系列就用了http://developer.android.com/sdk/win-usb.html)
  • 7.點擊下一步安裝驅動

這些比較簡單,但是需要注意的是是除了原生的驅動也許還有interface之類的驅動也得完美無缺的裝上。我的nexus就得這樣搞得我第一次以為我的機器不支援遠端偵錯呢。 (根據這裡面的說明安裝http://developer.android.com/tools/extras/oem-usb.html)我由於是googleNesus系列就用了http://developer.android.com/sdk/win-usb.html

調試hybrid

輸入網址chrome://inspect/#devices 打好勾,然後hybrid的頁面自然呈現了,點擊inspect就可以了 理論上是這樣的,不過,如果您的效果是ok的,我就跪了,今天研究了半天主要遇到這個檻了。找了一下原因原來是有兩個變數undefined

ncaught ReferenceError: InspectorFrontendAPI is not definedUncaught ReferenceError: WebInspector is not defined

找了半天確實stackoverflow上有一篇一樣的問題,但是沒人回答… http://stackoverflow.com/questions/21801324/inspectorfrontendapi-is-not-defined-during-chrome-remote-debugging 後來發現不回答卻是是這樣的,通過抓包工具,瞭解到,原來是請求被拒了,這隻有偉大的天朝能乾的出來。 我用了三種代理的方式FQ,facebook都看膩了還是訪問不到,facebook已經被我上的快玩壞了。 最後還是靠vpn解決了,(推薦greenvpn免費) 不過還好這個訪問的是設定檔,也就是說執行完一次如果儲存成功,將不再繼續訪問了。 好了,大功告成,慢慢打斷點調試吧.

參考文章

https://developer.chrome.com/devtools/docs/remote-debugging

https://developer.chrome.com/devtools/docs/debugger-protocol

https://developer.chrome.com/extensions/debugger

http://developer.android.com/tools/extras/oem-usb.html

http://developer.android.com/tools/device.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.