Phonegapが初めてで、Android開発。エミュレータでjavascriptエラーをデバッグする方法を知っていますか?ADBについて聞いたことがあります。 ?jsonpで呼び出されたajaxがありますが、エミュレーターで応答しませんが、Windows上のブラウザーでそのajaxを呼び出すことができます。
JavaScriptでconsole.log()を呼び出すことで、少なくともデバッグ情報をadbコンソールに記録できます。たぶんそれで十分でしょうか?
Adbを使用してログ出力を表示するには、SDK platform-tools /ディレクトリに移動して実行します:
adb logcat
logcatコマンドラインツール を参照してください
2016年11月更新:これはもう機能しないようです
最も簡単なそして最も強力な方法の1つは、 http://debug.phonegap.com を使用することです(Weinreを使用しますあなたが気にするなら、背景)。あなただけ
r4nd0m
、<script src="http://debug.phonegap.com/target/target-script-min.js#r4nd0m"></script>
をindex.html
http://debug.phonegap.com/client/#r4nd0m
すると、モバイルWebアプリをすぐにデバッグできます。できること(FirebugまたはWeb Inspectorに似ています):
Chrome devツールを使用して、リモートでデバッグすることができますAndroid Phonegapアプリ!ここに手順を書きました: Remotegap Phonegap Chrome Dev Tools のアプリ
Androidエミュレーターの手順:
これは、Windows 7でEclipseを使用してアプリをテストするときに、Android/Phonegapのjavascriptエラーをデバッグするために機能することがわかりました。
ウィンドウ>ビューの表示>その他...に移動するだけです
次に、Androidフォルダーの下のLogCatを選択します。
ポップアップされたウィンドウ/タブは、Androidエミュレーターがログとエラーメッセージを送信する場所です。このウィンドウをデタッチして、Eclipse IDEの外側に配置できます(これは便利だと思います)。また、ウィンドウの右上隅にある5色の文字のいずれかを選択することにより、表示されるエラーのタイプを制御できます。
無駄な情報を非表示にしてエラーのみを表示するには、(E)のみが選択されていることを確認してください。個人的には、(W)警告と(E)エラーを選択することも好きです。
お役に立てば幸いです!
はい、console.logでログエラーが発生し、EclipseでLogCatタブが表示されます。そこに、Webコンソールメッセージ(JSエラーを含む)が表示されます。少し冗長なので、フィルタリングしてWebコンソールタグだけを表示する必要がありますが、うまく機能します。ここで説明します: Android/EclipseのPHONEGAPでコンソールコンソールのログ出力とJAVASCRIPTエラーを表示する
(最終的に)Android- http://www.jshybugger.org/
特徴:
- 行ブレークポイントの追加/削除/有効化/無効化
- 式を見ます
- ステップイン/オーバー/アウト
- 例外で一時停止
- 呼び出しスタックナビゲーション
- 局所変数検査
- リモートコンソール
- javaScript構文とランタイムエラー報告
- ローカルストレージアイテムの表示/編集/削除
- セッションストレージアイテムの表示/編集/削除
- webSQLデータベースレコードの表示/編集/削除(ビデオを見る)
- ページリソース(画像、スクリプト、html)を表示する
- リモートコンソールサポートの強化(スタックトレース)
- デバッガー:強化されたオブジェクト検査
- デバッガー:条件付きブレークポイント
- デバッガー:ここに進みます
2つのステップで簡単に解決できました。
Config.xmlにこの行を追加します
<log level="DEBUG"/>
これは、実行してすべてのログメッセージを追跡し、phonegapプロジェクトに移動して\platforms\Android\cordova
に移動し、log.bat
を開いてコマンドラインを使用してアプリケーションをエミュレートできるbatファイルです。
cordova emulate
ログはcmdに表示され、log.bat
を開くとポップアップされます
例外をキャッチしてコンソールに表示する最適なソリューションは、次のコードです。
window.onerror = function(msg, uri, line) {
console.log(msg + uri + line);
}
PhoneGap/Apache CordovaアプリケーションのデバッグはGapDebugで簡単
https://www.genuitec.com/products/gapdebug/ からGapDebugをダウンロードしてインストールします
PC/MacでGapDebugを実行する
Androidデバイス(設定->開発者オプション(ON)-> USBデバッグ(ON ))
開発者オプションが見つからない場合(設定->電話について->ビルド番号を7回クリック)
参照
NodeJSをどこかに設定する場合は、John Boxallの iBug で拡張デバッグを実行できます。これは、iPhone用に設計されていますが、Android and it基本的にはモバイルデバイス用のfirebug liteです。フォークの原因を指しているNodeが大幅に変更され、Johnのコードが最新のnodeJSで実行されないため、パッチを適用して取得しますnodeJS 0.2.3、nodeJSのより新しいバージョンのYMMVで実行します。
Eclipseでは、Androidエミュレーターの戻るボタンにフックを追加し、その場で値を検査します。onBackPressed
イベントマネージャーを追加し、そこからJavaScriptコンソールを呼び出します。 Eclipseデバッグパースペクティブでは、String
変数の値を検査したい値に変更し、super.loadUrl
を呼び出してアプリに渡します。
以下のコードを参照してください。 DDMSビューからアプリケーションのデバッグを有効にすることを忘れないでください
public class MyActivity extends DroidGap {
private String js = "";
@Override
public void onBackPressed() {
//add a breakpoint to the follow line
//and change the value for "js" variable before continuing execution
super.loadUrl("javascript:console.log(" + js + ")");
return;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setBooleanProperty("keepRunning", false);
super.setIntegerProperty("splashscreen", R.drawable.splash);
super.loadUrl("file:///Android_asset/www/index.html", 20000);
}
}
Phonegapデバッグはまだ存在しています。私が知っているのは、設定にあるphonegapビルドにあり、デバッグアプリケーションオプションをチェックします。保存すると、アプリが再構築されます。アプリケーションページに再構築オプションとともにデバッグボタンが表示されます。 (このサービスは組み込みのワインセラーも使用します)
私が最速だと思うもう1つのオプションは jsconsole.com です。セットアップは非常に簡単で、ドライバーやSDKなどの多くのものをインストールする必要がある他のデバッグ方法と比較して、構成はほとんど必要ありません。
注!
PhoneGap 10では、アプリをビルドし、アプリの外部のリクエスト(インターネットがないかのように)が失敗した場合、config.xmlにこれを追加する必要があります。
<gap:plugin name="com.indigoway.cordova.whitelist.whitelistplugin" version="1.1.1" />
<access Origin="*" />
<allow-navigation href="*" />
<allow-intent href="*" />
リモートデバッグツールを動作させて、デフォルトで外部リクエストがブロックされていることを確認するために、髪を引っ張っていました。これは私を救った。
console.log
を使用すると、簡単な印刷ステートメントを実行できます。 adb
を使用してそれらを表示するだけでなく、デバイスでログビューアーを使用して、そこでログを表示できます。詳細: http://www.technomancy.org/Android/javascript-debugging/
Phonegap Buildを使用していて、Chromeコンソールを使用してデバッグしたい場合は、こちらが有効なソリューションです。USBデバッグを使用してWebViewをデバッグすることができます( https:// developer。 chrome.com/devtools/docs/remote-debugging#debugging-webviews )
まず、ウィジェットタグにxmlns:Android = "http://schemas.Android.com/apk/res/Android"が含まれていることを確認します
<widget
xmlns="http://www.w3.org/ns/widgets"
xmlns:gap="http://phonegap.com/ns/1.0"
xmlns:Android="http://schemas.Android.com/apk/res/Android"
id="me.app.id"
version="1.0.0">
次に、以下を追加します
<gap:config-file platform="Android" parent="/manifest">
<application Android:debuggable="true" />
</gap:config-file>
Nexus 5、Phonegap 3.7.0で動作します。
<preference name="phonegap-version" value="3.7.0" />
Phonegap Buildでアプリをビルドし、APKをインストールし、電話機をUSBに接続し、電話機でUSBデバッグを有効にしてから、chrome:// inspectにアクセスします。
ソース: https://www.genuitec.com/products/gapdebug/learning-center/configuration/