Manuals
Manuals




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

Debugowanie na Androidzie

Tutaj opisujemy, jak debugować zbudowaną aplikację za pomocą Android Studio, oficjalnego IDE dla systemu operacyjnego Android firmy Google.

Android Studio

  • Przygotuj pakiet, ustawiając opcję android.debuggable w pliku game.project

    android.debuggable

  • Zbuduj pakiet aplikacji w trybie debug i zapisz go w wybranym folderze.

    bundle_android

  • Uruchom Android Studio

  • Wybierz Profile or debug APK

    debug_apk

  • Wybierz utworzony przed chwilą pakiet APK

    select_apk

  • Wybierz główny plik .so i upewnij się, że zawiera symbole debugowania

    select_so

  • Jeśli ich nie ma, wczytaj nieokrojony plik .so (unstripped). (rozmiar to około 20 MB)

  • Mapowania ścieżek (ang. path mappings) pozwalają powiązać poszczególne ścieżki zapisane podczas budowania pliku wykonywalnego (w chmurze) z rzeczywistymi folderami na dysku lokalnym.

  • Wybierz plik .so, a następnie dodaj mapowanie do folderu na swoim dysku lokalnym

    path_mapping1

    path_mapping2

  • Jeśli masz dostęp do kodu źródłowego silnika, dodaj mapowanie ścieżki również do niego.

  • Upewnij się, że lokalne źródła są przełączone na dokładnie tę wersję, którą obecnie debugujesz

    defold$ git checkout 1.2.148

  • Naciśnij Apply changes

  • Powinieneś teraz widzieć zmapowany kod źródłowy w projekcie

    source

  • Dodaj punkt przerwania

    breakpoint

  • Naciśnij Run -> Debug "Appname" i wywołaj kod, w którym chcesz przerwać wykonywanie

    breakpoint

  • Możesz teraz przechodzić po stosie wywołań i sprawdzać wartości zmiennych

Uwagi

Folder zadania rozszerzenia natywnego (Native Extension)

Obecnie ta procedura jest nieco uciążliwa podczas prac rozwojowych. Wynika to z tego, że nazwa folderu zadania jest losowa przy każdym budowaniu, przez co mapowanie ścieżek staje się za każdym razem nieprawidłowe.

Mimo to działa poprawnie w ramach pojedynczej sesji debugowania.

Mapowania ścieżek są przechowywane w pliku projektu .iml w projekcie Android Studio.

Nazwę folderu zadania można odczytać z pliku wykonywalnego

$ arm-linux-androideabi-readelf --string-dump=.debug_str build/armv7-android/libdmengine.so | grep /job

Folder zadania ma nazwę w rodzaju job1298751322870374150, za każdym razem z losowym numerem.