Android-App-Debugging

In diesem Lernprogramm werden die wichtigsten Debugging-Tools beschrieben, die neue Android-App-Entwickler kennen müssen, um ihre Apps erstellen und perfektionieren zu können.


Teil 0: Erste Schritte

Diese Reihe von Android-Tutorials soll Ihnen dabei helfen, die Fähigkeiten und das Vertrauen aufzubauen, die für das Erstellen hochwertiger Android-Apps erforderlich sind. Dieses Tutorial richtet sich an Java-Entwickler, die gerade erst mit dem Entwickeln der Android-App beginnen, die etwas mit Eclipse vertraut sind und das Android SDK und das Android Developer Plugin für Eclipse installiert haben. Sie sollten auch wissen, wie Sie eine einfache Android-Anwendung erstellen (Hello World reicht aus), um dieses Lernprogramm abzuschließen. Wenn Sie nicht vorbereitet sind, lesen Sie die vorherigen Tutorials dieser Serie.


Teil 1:
Erstellen von Debug-Konfigurationen in Eclipse

Im Tutorial Android-Beispielanwendungen dieser Serie haben Sie erfahren, wie Sie eine Ausführungskonfiguration in Eclipse erstellen. Debug-Konfigurationen werden auf ähnliche Weise erstellt, jedoch zum Konfigurieren der Optionen zum Starten und Debuggen von Anwendungen verwendet.

Um eine Debug-Konfiguration für Ihre Anwendung in Eclipse anzulegen, wählen Sie Ausführen, Debugging-Konfigurationen… .

Doppelklicken Sie auf Android-Anwendung (oder klicken Sie mit der rechten Maustaste und wählen Sie Neu). Wählen Sie auf der ersten Registerkarte die Schaltfläche Durchsuchen…, wählen Sie das Android-Projekt aus, das Sie debuggen möchten, und klicken Sie dann auf OK.

Füllen Sie nun das Feld Name aus. Wir benennen unsere Debug-Konfigurationen normalerweise mit dem Projektnamen, um Verwirrung zu vermeiden. Sie können sie jedoch beliebig benennen.

Aktivieren Sie auf der Registerkarte "Ziel" das Optionsfeld "Immer zur Auswahl des Geräts auffordern".

Klicken Sie jetzt auf die Schaltfläche Debuggen. Sie sollten den Android-Geräteauswahldialog erhalten. In diesem Dialogfeld werden alle derzeit verbundenen Android-Geräte und aktiven Emulatorinstanzen im oberen Bereich angezeigt. Außerdem können Sie eine neue Emulatorinstanz über eine kompatible AVD-Konfiguration direkt starten.

Wählen Sie den Emulator aus, den Sie bereits ausgeführt haben, und klicken Sie auf die Schaltfläche OK. Nach kurzer Zeit wird Ihre App auf dem Emulator oder Gerät gestartet und beim Anhängen wird ein Dialogfeld mit dem Hinweis "Warten auf Debugger" angezeigt.


Teil 2:
Erkunden der Eclipse-Debugperspektive

Sobald Ihre Anwendung im Emulator oder auf einem Gerät ausgeführt wird, können Sie mit dem Debuggen beginnen. Die meisten Debugging-Funktionen von Eclipse und des ADT-Plug-Ins sind in der Debug-Perspektive zur Vereinfachung der Verwendung zusammengefasst.

Die Debug-Perspektive wird häufig automatisch geöffnet, wenn Sie mit dem Debuggen einer Android-App beginnen. Wenn dies nicht der Fall ist, können Sie jederzeit zur Debug-Perspektive wechseln, indem Sie auf die Debug-Perspektive in der oberen rechten Ecke von Eclipse klicken oder zu Fenster, offene Perspektive, debuggen.

Die Debug-Perspektive enthält mehrere Informationsbereiche. Sie können sie natürlich verschieben, wenn Ihnen die Einrichtung nicht gefällt.

In der oberen linken Ecke befindet sich ein Fenster namens Debug, das Ihre Anwendung und Threads anzeigt. Hier finden Sie die Debug-Symbolleiste, mit der Sie den Debugger anhängen und trennen und den Code schrittweise durchgehen können.

In der rechten Ecke befindet sich ein Fenster, in dem Sie Variablen untersuchen und Haltepunkte verwalten können. Haltepunkte sind Positionen in Ihrem Code, die Sie an dem Ort angeben, an dem der Debugger die Ausführung anhalten soll, sodass Sie den Code methodisch Zeile für Zeile durchgehen und herausfinden können, was los ist.

In der Debug-Perspektive befindet sich ein Fenster, in dem der aktuell ausgeführte Code angezeigt wird.

Im unteren Bereich der Debug-Perspektive stehen zwei Diagnosefenster zur Verfügung: das LogCat-Fenster, in dem die Protokollierungsausgabe vom Emulator oder Gerät angezeigt wird, sowie das Konsolenfenster, in dem die Konsolenausgabe von DDMS auf höherer Ebene angezeigt wird.


Teil 3:
Durch Code in Eclipse gehen

Lassen Sie uns ein kurzes Beispiel für das Debugging mit Eclipse anhand der gerade gestarteten Anwendung durcharbeiten.

Zuerst müssen wir uns einrichten, da mit unserem Code nichts falsch ist und der Debugger bei einem Problem nicht automatisch angehalten hat. Wechseln Sie zur Java-Perspektive, indem Sie auf die Java-Schaltfläche in der rechten oberen Ecke von Eclipse klicken. Doppelklicken Sie auf die Aktivitätsklassendatei, die Ihrer Anwendung zugeordnet ist, um sie zu öffnen. Wechseln Sie dann wieder in die Debugperspektive. Sie sehen nun, dass die Datei im mittleren Bereich der Debugperspektive angezeigt wird. Ok, jetzt können wir unseren Code schrittweise durchgehen.

Setzen wir zunächst einen Haltepunkt im Code. Dafür gibt es zahlreiche Möglichkeiten. Ich möchte die Linie finden, für die ein Haltepunkt festgelegt werden soll. Klicken Sie dann mit der rechten Maustaste auf das vertikale blaue Band links von der Codezeile und wählen Sie im Menü die Option Haltepunkt umschalten. schalten Sie es um und entfernen Sie es. Sie können auch auf die Zeile klicken, auf der Sie einen Haltepunkt setzen möchten, und Strg + Umschalt + B drücken. Eine kleine Lupe erscheint neben der Codezeile, wenn der Haltepunkt gesetzt ist. Ein guter Ort zum Festlegen des ersten Haltepunkts wäre die onCreate () -Methode Ihrer Activity.

Nachdem Sie den Haltepunkt festgelegt haben, starten Sie die Anwendung im Debug-Modus mit der Debug-Konfiguration erneut. Sie können dies in Eclipse tun, indem Sie das kleine Fehlersymbol in der Symbolleiste verwenden. Klicken Sie auf den Abwärtspfeil daneben, wählen Sie Ihre Debug-Konfiguration aus, und es wird ausgeführt. Der Debugger wird angehängt, Ihre Anwendung startet und stoppt dann an Ihrem Haltepunkt. Neben der Codezeile, die gerade ausgeführt wird, wird ein kleiner Pfeil angezeigt.

Jetzt können Sie Ihren Code mit grundlegenden Debugging-Funktionen schrittweise durchgehen. Diese Funktionen sind in der Symbolleiste des Debug-Bedienfelds verfügbar oder Sie können die mit diesen Funktionen verknüpften Hotkeys verwenden.

Die häufigsten Debugging-Funktionen in Eclipse, die Sie zum Durchlaufen des Codes benötigen, sind:

Hineinsteigen: Verwenden Sie diese Funktion, um tiefer in Ihren Code zu gelangen, indem Sie in den Methodencode wechseln. Verwenden Sie diese Option, wenn Sie der Meinung sind, dass die aktuell ausgeführte Methode ein Debugging erfordert. Wenn diese Methode gut getestet ist und Sie wissen, dass sie das richtige Ergebnis liefert, müssen Sie sie wahrscheinlich nicht betreten, sondern wechseln Sie zur nächsten Codezeile auf derselben "Ebene" wie die vorherige. Drücken Sie F5, um in den Code einzusteigen.

Schritt über: Verwenden Sie diese Funktion, um zur nächsten Codezeile auf derselben Ebene wie die vorherige zu gelangen. Drücken Sie F6, um den Code zu überschreiten.

Schritt zurück: Verwenden Sie diese Funktion, wenn Sie sich gerade mitten in einer Methode befinden und den Bereich der zu inspizierenden Methode überschritten haben. Die aktuelle Methode wird beendet und nach der Rückkehr dieser Methode wird in die nächste Ausführungszeile gesprungen, sodass Sie mit dem Debuggen fortfahren können. Drücken Sie F7, um einen Schritt zurück zu gehen.

Fortsetzen: Fertig mit dieser kleinen Debugging-Sitzung und möchten, dass die App wieder läuft (bis der nächste Haltepunkt erreicht ist)? Dann verwenden Sie die Resume-Funktion. Drücken Sie die Taste F8, um den Betrieb ohne Schritt fortzusetzen.

Kündigen: Fertig mit dieser kleinen Debugging-Sitzung und möchten, dass die App nicht mehr läuft? Verwenden Sie dann die Terminierungsfunktion. Drücken Sie Strg + F2, um die Ausführung zu beenden.


Teil 4:
Anzeigen der Diagnoseprotokollierung mit Logcat

Das Protokollieren oder Ausdrucken von Diagnoseinformationen aus Ihrem Code kann eine hilfreiche Methode zur Diagnose von Problemen sein, insbesondere von Rennbedingungen oder Timing-Problemen, die nicht so schnell auftreten, wenn Sie den Code sorgfältig durchgehen. In diesem Fall haben Sie den Code wie gewohnt ausgeführt, drucken jedoch die gewünschten Informationen aus. Sie können diese Diagnoseinformationen im LogCat-Fenster der Debug-Perspektive anzeigen. Sie können auf die Logcat-Ausgabe auch auf verschiedene andere Arten zugreifen, z. B. über das DDMS-Tool, die DDMS-Perspektive in Eclipse oder das Befehlszeilentool adb.

Das Hinzufügen der LogCat-Protokollierungsausgabe zu Ihrer Anwendung ist einfach, aber Sie müssen den Java-Code Ihrer App ändern und neu kompilieren. Durch die Protokollierung wird Ihre Anwendung außerdem etwas verlangsamt. Daher möchten Sie die Protokollierung immer aus Ihrer Anwendung entfernen, bevor Sie sie für die Öffentlichkeit freigeben. Weitere Informationen zur Android-Protokollierung finden Sie in Android Essentials: Anwendungsprotokollierung.


Fazit

In diesem Lernprogramm haben Sie die Grundlagen zum Debuggen von Android-Anwendungen mit Eclipse und dem ADT-Plugin kennen gelernt. Sie haben gelernt, wie Sie mit Eclipse im Debug-Modus navigieren, die Debug-Perspektive verwenden und wie Sie durch den Code gehen und die Logcat-Protokollausgabe anzeigen. Sie haben das Debuggen von Emulatoren und Geräten kennen gelernt. Sie haben jetzt einen Überblick über die grundlegenden Fähigkeiten, die erforderlich sind, um mit der Entwicklung realer Android-Anwendungen zu beginnen. Sie sind auf dem Weg zur Android-Entwicklung. Welche Arten von Apps freuen Sie sich auf die Erstellung? Welche Beispiel-App war dein Favorit? Lass es uns in den Kommentaren wissen!

Über die Autoren

Die mobilen Entwickler Lauren Darcey und Shane Conder haben mehrere Bücher zur Android-Entwicklung mitgeschrieben: ein ausführliches Programmierbuch mit dem Titel Android Wireless-Anwendungsentwicklung (jetzt in der dritten Auflage als zweiteiliger Satz), Sams Teach Yourself Android-Anwendungsentwicklung in 24 Stunden, und Programmieren der Android-Anwendungsprogrammierung für den Kindle Fire: Eine praktische Anleitung zum Erstellen Ihrer ersten Android-Anwendung. Wenn sie nicht schreiben, verbringen sie ihre Zeit damit, mobile Software in ihrem Unternehmen zu entwickeln und Beratungsdienste anzubieten. Sie können sie per E-Mail an [email protected], über ihren Blog unter androidbook.blogspot.com und über Twitter @androidwireless erreichen.

Benötigen Sie weitere Hilfe zum Schreiben von Android-Apps? Schauen Sie sich unsere neuesten Bücher und Ressourcen an!