Wie zu debuggen BOOT_COMPLETE Broadcast-Empfänger "Force Close" Abstürze?

Da das Telefon neu gestartet wird und somit vom Eclipse Debugger / LogCat abgetrennt wird, während es bootet, wie sehe ich, wo mein boot komplett ausgestrahlter Receiver abstürzt?

Ich mache einige Aktionen in der onReceive () meiner öffentlichen Klasse BootCompleteReceiver erweitert BroadcastReceiver {…}

  • Android Verschiedene Menü-Ressourcen
  • Adb forward remote port zum lokalen maschine
  • Haben Sie einen deaktivierten onClick?
  • Android: So verhindern, dass der Dienst nach dem Absturz neu gestartet wird?
  • Fehler beim Auflösen: android.arch.lifecycle: Erweiterungen: 1.0.0-alpha1 android studio 3.0
  • REST - Einschränkung des Zugriffs auf nicht autorisierte Client-Software
  • Dies stürzt ab und taucht einen kraftschlüssigen Dialog auf, wenn das Telefon hochfährt. Wie kann ich das debuggen und sehen wo das Problem ist?

    Die Frage gilt für das Debuggen von BOOT_COMPLETE Broadcast-Empfängern.

    Vielen Dank!

    BEARBEITEN

    Ja, wir können die Systemprotokolle in LogCat sehen, während das Telefon hochfährt, aber meine App Log.d (TAG, "Boot abgeschlossen") muss warten, bis es (onReceive) ausgelöst wird, aber bis dahin stürzt die App ab, weil das Problem Ist irgendwo im Empfänger selbst. Die App stürzt ab, bevor ich etwas protokollieren kann. Auch kann ich nicht "Run in Debug-Modus" für ein Telefon, das neu starten …

  • Log-Aufruf mit Proguard entfernen
  • WebView-Methoden auf demselben Thread-Fehler
  • Android WebView lädt nicht zwischengespeicherte Website, wenn es keine Verbindung gibt
  • Wie benutzt man einen OpenCV-Rotations- und Übersetzungsvektor mit OpenGL ES in Android?
  • Best Practice für die Anzeige von Fehlermeldungen
  • Wie teste ich die Leistung einer Android-Anwendung?
  • 4 Solutions collect form web for “Wie zu debuggen BOOT_COMPLETE Broadcast-Empfänger "Force Close" Abstürze?”

    Prüfe deine Handlungen und Bündel deiner Absicht, die du empfängst, sie können null und kann eine Nullzeiger Ausnahme sein.

    Wie ich an einen anderen Thread geschrieben habe:

    Sie können alle Broadcast-Aktionen emulieren, indem Sie über adb mit dem Gerät verbinden und eine Geräte-Shell öffnen.

    Auf geht's:

    • Offene Konsole / Terminal und navigieren zu / Plattform-Tools
    • Typ "adb shell" oder auf linux / mac "./adb shell"
    • In der Shell-Typ "am broadcast -a android.intent.action.BOOT_COMPLETED" oder was auch immer Aktion, die Sie auslösen möchten.

    Auf diese Weise solltest du in der Lage sein zu debuggen

    Es gibt eine Menge nette Befehle, die mit Adb oder der Adb Shell kommen. Probier es einfach

    Grüße Flo

    EDIT: Mit der obigen Methode wird das Gerät ebenfalls neu gestartet. Um zu verhindern, dass das Gerät von einem Neustart verwendet wird, verwenden Sie am broadcast -a android.intent.action.BOOT_COMPLETED com.example.app . Notieren Sie das Suffix mit dem Anwendungspaketnamen, zu dem die Sendung geht. Dies ermöglicht Ihnen, die BOOT_COMPLETED-Absicht an NUR IHRE App für Debugging-Zwecke zu senden. – Roel van Uden

    Der Empfänger steuert nur, wenn Ihr Code läuft (dh wenn das Telefon startet). Beim Debuggen den Code manuell ausführen. Sie können 99% Ihrer Probleme auf diese Weise lösen und die restlichen (wenn überhaupt) können Sie durch Schreiben an LogCat zu lösen, so sehen, was Ihr Code tut.

    Setzen Sie einfach zu Ihrem Terminal in Android Studio

    adb shell am broadcast -a android.intent.action.BOOT_COMPLETE

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.