11

アプリはエミュレーターで正常に動作しますが、電話にインストールした後、起動するたびにクラッシュし、logcatはエラーを表示しません。

このようなことが起こったとき、私は何をすべきですか?

4

7 に答える 7

13

あなたの問題をより簡単に解決するための私の提案:

電話のデバッグモードで日食からアプリを実行します。デバッグモードで実行されます。ほとんどの場合、より多くのデバッグ出力が得られます。

  1. 電話でADBをオンにします。
  2. 電話をPCに接続します
  3. Eclipseから「デバッグ構成」として実行します。
  4. それはあなたの電話から実行されるべきであり、Eclipseはそれを実行する前に初めてあなたの選択を求めます。

デバッグモードをオンにすると(注:これ、参照している「ADB接続」ではありません)、アプリケーションのログをさらに有効にし、通常はガベージコレクションを実行しません。

(アプリケーションがデバッグモードで動作するように強制されている場合は、[デバッグ接続を待機しています]ダイアログが表示されます)。

例:非同期スレッドの実行を継続し、実行を停止しません。あなたのケースには粗雑で無関係です。しかし、ほんの一例です。

したがって、電話のアプリケーションはデバッグモードで実行されるように強制されるため、特定のスレッドまでの詳細なエラーを含むlogcatを取得します。

ただし、デバッグモードは、Eclipseの「名前を付けてデバッグ」実行構成と組み合わせて使用​​する場合に適しています。また、そのデバッグアプリケーションモードが自動的にオンになることを覚えておいてください(ダイアログボックスもあります)。logcatは詳細を表示し、さらに発生したエラーの発生順序でブレークポイントを表示します。


アレスが言ったことに関して 、プロセスのデバッグを直接行いたい場合は、

  1. EclipseのDDMSパネルに移動できます。
  2. 右側のタブメニュー[デバイス]で、
  3. デバッグするプロセスを選択します。緑色の記号をクリックします(「デバッグプロセスの開始」と言います)
  4. そのEclipseワークスペースにソースコードがある場合、それが壊れたときに自動的にソースに移動します。
于 2012-05-03T13:04:39.767 に答える
5

追加のヒント:

huawei電話では、電話がデフォルトのシステム設定になっている場合、logcatはデバッグメッセージと例外を表示しません。

Huawei電話でlogcatフルログを有効にするには、次の手順を実行する必要があります。

  • ダイヤルして工場出荷時の設定メニューを開きます*#*#2846579#*#*
  • プロジェクトメニュー/背景設定/ログ設定に移動します

  • 古い電話の場合:ログの可用性(ログスイッチ)とレベル(ログレベルの設定)を定義します。

  • 決して電話をかけない場合:APログ(一般的にアプリのログを有効にするようです)とCPログ(デバッグログを有効にするようです)にチェックマークを付けます
  • バックボタンでメニューを閉じます(再起動は必要ありません)

ソース:https ://stackoverflow.com/a/18395092/1075072

于 2016-12-04T16:30:10.267 に答える
1

DevicesEclipseでは、DDMSに移動し、パネルでデバイスの名前またはandroid.osをクリックする必要があります。そして、デバイスをデバッグモードにします。

于 2012-05-03T13:20:48.453 に答える
1

ホストコンピューターから離れている場合でも、電話にログファイルを表示できるAndroidSystemInfoなどのツールをインストールします。

Androidがまったく痕跡を残さないことは非常に珍しいことです。

あなたのアプリはおそらく電話が持っていない機能(例えばカメラまたはgpsまたはnfc)を必要としますか?

于 2012-05-03T13:08:00.347 に答える
0

独自のログを作成して、クラッシュの原因となるコードのブロックを追跡するか、単にデバッグします。

于 2012-05-03T13:01:56.070 に答える
0
  1. adbをリセットできます([デバイス]->[表示]メニュー->[adbのリセット])
  2. 選択したオンラインデバイス/エミュレーターをクリックして、logcatを表示します
  3. ケーブルを外し、再度接続します。(またはエミュレータを再起動します)
  4. Eclipseを再起動します
于 2015-03-25T10:23:56.977 に答える
0

エミュレータを再起動し、ビルドをクリーンアップしました。これは、私が持っていた非ロギングとスプリアスクラッシュの両方を取り除きました

于 2016-02-12T05:02:33.977 に答える