私のアプリは Eclipse のエミュレーターでうまく動作し、エミュレーターでアプリをデバッグすると多くのエラー情報を表示できます。
アプリのテストを終了した後、実際の Android モバイル samsung i8150 モバイル (Android 2.3.6) にアプリをインストールしましたが、次のエラーが発生することがあります。
エラーの原因がわかりません。実際の Android モバイルでアプリを実行したときに、クラッシュしたアプリのエラー情報を表示するにはどうすればよいですか?
私のアプリは Eclipse のエミュレーターでうまく動作し、エミュレーターでアプリをデバッグすると多くのエラー情報を表示できます。
アプリのテストを終了した後、実際の Android モバイル samsung i8150 モバイル (Android 2.3.6) にアプリをインストールしましたが、次のエラーが発生することがあります。
エラーの原因がわかりません。実際の Android モバイルでアプリを実行したときに、クラッシュしたアプリのエラー情報を表示するにはどうすればよいですか?
クラッシュが発生したら、デバイスを接続すると、IDE Logcat で原因を確認できます。
aLogcat を使用すると、出力タグを検索してエラーを見つけることができます。
https://play.google.com/store/apps/details?id=com.nolanlawson.logcat&hl=en
このアプリを使用すると、多くの機能があります
電話をコンピューターに接続し、Eclipse を実行します。
Eclipse で logcat を開くと、携帯電話が現在行っていることのプロファイリングが表示されます。
アプリを開いてクラッシュさせます。
クラッシュすると、エラー メッセージが赤色で表示されます。
Google による最高の分析ツールである Google Analytics をアプリケーションに実装することをお勧めします。Google アナリティクスを使用することで、アプリが何を行っているか、ユーザーが現在どの画面にいるか、クラッシュ ログ、アプリケーションに関するその他多くの事柄や情報を検出できます。また、 Google アナリティクスをアプリに簡単に統合できます。
デバイスが PC に接続されている間にアプリをテストしてみてください。これを行うには、次の手順に従います。
Android マニフェストでアプリケーションを「デバッグ可能」と宣言します。Eclipse を使用する場合、Eclipse IDE からアプリを直接実行すると自動的にデバッグが有効になるため、この手順を省略できます。AndroidManifest.xmlファイルで、android:debuggable="true"を " application " 要素に追加します。
デバイスで USB デバッグを有効にします。Android 3.2 以前を実行しているほとんどのデバイスでは、[設定] > [アプリケーション] > [開発] の下にオプションがあります。
デバイスを検出するようにシステムをセットアップします。Windows で開発している場合は、adb 用の USB ドライバーをインストールする必要があります。インストール ガイドと OEM ドライバーへのリンクについては、OEM USB ドライバーのドキュメントを参照してください。Mac OS X で開発している場合は、そのまま動作します。このステップを飛ばす。
最後に、デバイスでアプリを実行し、LogCat で何が起こっているかを確認します。
アプリで試してみましたが、とても便利です。ここですべての情報を取得しました。
すべての可能性を組み合わせる Logcat が得られない理由
可能性
それぞれのソリューション
android:debuggale="true"
ADB は実行されていますか? (ADB を再起動してみてください - adb kill-server、adb start-server)
または
、この小さなコードを追加して、アプリのクラッシュの理由を表示することもできます
。次のような新しいアプリケーション クラスを作成します。
public class App extends android.app.Application
{
@Override
onCreate(...) {
super.onCreate();
Thread.setDefaultUncaughtExceptionHandler(new Thread.
UncaughtExceptionHandler() {
public void uncaughtException(Thread t, Throwable e) {
Toast.makeText(getApplicationContext(), t + " has " + e, Toast.LENGTH_LONG).show();
}
});
そして、アプリケーション マニフェストで
<application ...... name="com.yourpackage.App" > ...... </application>