在Android上遠端偵錯JavaScript

來源:互聯網
上載者:User

當開發人員在調試Android行動裝置上調試網頁時,經常遇到很多障礙.雖然Android開發指南中提供瞭解決方案,但這個方案非常複雜和麻煩.因此,許多Web開發人員還是經常在Firefox Debug或者Webkit’s Web Inspector上調試,因為這些工具都是功能強大,使用方便.然而,開發人員常常發現,當使用這些工具看到的效果跟最終行動裝置上看到的很多時候都相差甚遠.

我們決定建立自己的解決方案,由Adndroid團隊提出的標準解決方案中建立一個更容易使用的工具.我們稱之為RemoteJS,這是一個可以讓你的程式在Android裝置或者模擬器中運行,而在本地調試你的JavaScript代碼.
如何建立RemoteJS
構建應用程式是 一個相當簡單的過程.首先,確認你已經安裝了Qt Framework.然後從我們的Sencha Libs中下載Android版本的RemoteJS原始碼.構建傳統型應用程式如果下:

view source

print?1.git clone <a href="git://github.com/senchalabs/android-tools.git">git://github.com/senchalabs/android-tools.git<;/a>2.cd android-tools/remotejs/src/desktop3.qmake && make

接下來,你需要做的是先準備安裝好了的Android SDK,插入您的Android裝置(或啟動你的模擬器)。這裡是該RemoteJS工具,一個Sencha Touch運行在模擬器上的例子:

該程式其實是自動在裝置上安裝了同名的包.用這一個工具來開啟你的網頁,而不是Android內建的瀏覽器.但由於兩個程式使用了相同的Web引擎組件,所以你不用擔心相容性的問題,兩個程式出來的效果將會是一模一樣的.如需瞭解更多詳情,請參考說明檔案.

要開啟一個指定的網址,只需在其控制台上輸入即可。如果你輸入的網址沒有包含協議(如:http),那麼只有以"www”"開頭的地址會被識別。如果你串連了多個裝置,那麼你將會得到一個列表以供選擇。同樣,它會檢測你的正在使用的設定是否已經斷開。然後它只會留下已串連的裝置。同樣,如果一個裝置新加進來,它也會被檢測到.

請注意,有時候為了得到一些實際的輸出,你需要使用console.log。

編寫遠端偵錯的指令碼
We thought that since the GUI version worked so well, we could write something similar that would run headlessly. The main goal was to automate page regression tests, taking full advantage of Python, the chosen implementation language. For that, an Android Debug Bridge (adb) Python module was written, which allows for very flexible scripting from your host. Naturally, a shell version of RemoteJS was also written on top of the adb module. It listens for JavaScript commands on stdin and output results to stdout. Here’s the tool in action, debugging another Sencha Touch example:

即將到來
原始碼是不斷在變化的,我們計劃擴充這些工具的功能。歡迎您以任何方式為以上功能作出貢獻.請繼續關注我們的android-tools資產庫中的工具和代碼.所有的這些都是以MIT的許可發布的.

英文原文:
http://www.sencha.com/blog/2010/11/05/remote-javascript-debugging-on-android/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.