AndroidでJavaScriptのconsole.logを表示する方法
Androidでconsole.logとかの出力を見るのには二通りあるみたいです。
1. about:debug
ブラウザのアドレスバーにabout:debugと打ち込むとJavaScriptのコンソールが現れます。これ簡単でいいんですけど、実機(Xperia ack)で試したらなんかよく(OSごと)落ちるし、いちいち入力するの面倒だしでちょっと微妙でした。あとどのバージョンからこれに対応してるかもよく知らない。
2. adb logcat
たぶんこっちが正当法。AndroidSDKに入ってるadb(Android Debug Bridge)というツールを使います。adbはAndroidSDKの tools/adb にあります。
まずエミュレータの場合。エミュレータを立ち上げたら以下のコマンドで接続を確認します。
$ cd /path/to/AndroidSDK/tools
$ ./adb devices
List of devices attached
emulator-5554 device
接続が確認できたら
$ ./adb logcat
これでブラウザを起動してconsole.logの出力を見たいページを表示すればコンソールに出力が流れてきます。ただし、console.log以外のもろもろのデバッグ情報もダーっと流れてくるので適当にgrepかけとくと吉。
$ ./adb logcat | grep browser
次、実機で確認する方法。まず実機のほうの設定でデバッグの設定をします。端末によるのかもしれないけど、Xperia ackの場合は「設定」→「アプリケーション」→「開発」→「USBデバッグ」にチェックします。で、USBで接続するとadbで認識されるようになるはず。
$ ./adb devices
List of devices attached
xxxxxxxxxxxxxxx device
認識されてたらさっきと同じようにlogcatすればconsole.logの出力とかがコンソールに流れてきます。こんな感じ出る。
ちなみに接続が複数あったらadb logcatの起動がエラーになるので、以下のように指定します。
# エミュレーターの場合
$ ./adb -e logcat
# 実機の場合
$ ./adb -d logcat
# serial numberを指定して起動する場合
$ ./adb -s <serial number> logcat
-sのserial numberってのは adb deviceds したときに表示される文字列のことです。
- Prev Entry:StorageEventで勘違いしていたこと
- Next Entry:続・iOSのSafariで特定のfont-sizeのときの謎の隙間