私は 3 台の異なる HTC 電話をほぼ独占的に使用してきましたが、この問題は一度もありませんでした。確認すべき点は次のとおりです。
- USBデバッグが有効になっていることを確認してください。
- Webview に WebChromeClient が設定されていることを確認してください。Webview で使用されるブラウザは、console.log() を実装していません。
- adb logcat の出力は見やすいはずですが、見やすくするために、出力をフィルター処理します。
USB デバッグをオンにします。
- デバイスをコンピュータから切断します。
- [設定] -> [アプリケーション] -> [開発] -> [USB デバッグを有効にする] を選択します。
- コンピューターへのプラグイン。(ADB を使用するために正しいドライバーがインストールされていることを確認してください - 詳細はこちら: http://developer.android.com/guide/developing/device.html )
onConsoleMessage() をオーバーライドする WebChromeClient を設定します。
//Set the output prefix so you can filter adb logcat results later
public static final String TAG = "Your-Application-Name";
myWebView = (WebView) findViewById(R.id.webview);
//Not going to have much luck running JS without this:
myWebView.getSettings().setJavaScriptEnabled(true);
//Override onConsoleMessage() to output to the Log.
myWebView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onConsoleMessage(ConsoleMessage cm) {
Log.d(TAG, cm.message() + " -- From line "
+ cm.lineNumber() + " of "
+ cm.sourceId() );
return true;
}
});
onConsoleMessage() の詳細については、こちらをご覧ください。http://developer.android.com/reference/android/webkit/WebChromeClient.html#onConsoleMessage(java.lang.String , int, java.lang.String)
一般的なデバッグの詳細については、http: //developer.android.com/guide/webapps/debugging.htmlをご覧ください。
adb logcat の出力をフィルタリングします。
adb logcat tag-name:log-level *:S
tag-name は Log.x で指定された文字列と一致します log-level は Log.x の呼び出し時に指定したログ レベルと一致します <---
上記のコードに関連する例:
adb logcat Your-Application-Name:D *:S
これにより、一致するタグ Your-Application-Name のすべての d レベルのログが表示され、それ以外はすべて無音になります。
adb フィルタリングの詳細はこちら:
http://developer.android.com/guide/developing/tools/adb.html#logcat
それが役に立てば幸い!他の回答を少し要約しただけだったことは知っていますが、実際には、それを機能させるにはすべての手順が必要です。:)