This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Hier beschreiben wir, wie du einen Build mit Android Studio debuggst, der offiziellen IDE für Googles Betriebssystem Android.
Bereite das Bundle vor, indem du die Option android.debuggable in game.project setzt

Erstelle im Debug-Modus ein Bundle der App in einem Ordner deiner Wahl.

Starte Android Studio
Wähle Profile or debug APK

Wähle das APK-Bundle, das du gerade erstellt hast

Wähle die Hauptdatei mit der Erweiterung .so und stelle sicher, dass sie Debug-Symbole enthält

Falls sie keine enthält, lade eine .so-Datei hoch, deren Debug-Symbole nicht entfernt wurden. (Die Größe beträgt etwa 20 MB)
Mit Pfadzuordnungen kannst du die einzelnen Pfade, unter denen die ausführbare Datei in der Cloud erstellt wurde, einem tatsächlichen Ordner auf deinem lokalen Laufwerk zuordnen.
Wähle die .so-Datei und füge dann eine Zuordnung zu deinem lokalen Laufwerk hinzu


Wenn du Zugriff auf den Quellcode der Engine hast, füge auch dafür eine Pfadzuordnung hinzu.
Stelle sicher, dass du die Version auscheckst, die du gerade debuggst
defold$ git checkout 1.2.148
Klicke auf Apply changes
Du solltest den zugeordneten Quellcode jetzt in deinem Projekt sehen

Füge einen Haltepunkt hinzu

Wähle Run -> Debug "Appname" und rufe den Code auf, in dem du die Ausführung anhalten möchtest

Du kannst jetzt schrittweise durch den Aufrufstapel gehen und die Variablen untersuchen
Der Arbeitsablauf bei der Entwicklung nativer Erweiterungen (native extensions) ist derzeit etwas umständlich. Das liegt daran, dass der Name des Auftragsordners bei jedem Build zufällig gewählt wird, wodurch die Pfadzuordnung bei jedem Build ungültig wird.
Für eine Debugging-Sitzung funktioniert dies jedoch problemlos.
Die Pfadzuordnungen werden in der .iml-Datei des Android-Studio-Projekts gespeichert.
Du kannst den Auftragsordner aus der ausführbaren Datei ermitteln
$ arm-linux-androideabi-readelf --string-dump=.debug_str build/armv7-android/libdmengine.so | grep /job
Der Auftragsordner hat einen Namen wie job1298751322870374150, jeweils mit einer zufälligen Zahl.