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

Depuração no Android

Aqui descrevemos como depurar um build usando o Android Studio, a IDE oficial para o sistema operacional Android do Google.

Android Studio

  • Prepare o pacote definindo a opção android.debuggable em game.project

    android.debuggable

  • Empacote o app em modo debug em uma pasta de sua escolha.

    bundle_android

  • Inicie o Android Studio

  • Escolha Profile or debug APK

    debug_apk

  • Escolha o pacote apk que você acabou de criar

    select_apk

  • Selecione o arquivo .so principal e certifique-se de que ele tenha símbolos de debug

    select_so

  • Se ele não tiver, faça upload de um arquivo .so não stripped. (o tamanho é cerca de 20 MB)

  • Mapeamentos de caminho ajudam a remapear os caminhos individuais de onde o executável foi compilado (na nuvem) para uma pasta real no seu disco local.

  • Selecione o arquivo .so e adicione um mapeamento para seu disco local

    path_mapping1

    path_mapping2

  • Se você tiver acesso ao código-fonte da engine, adicione também um mapeamento de caminho para ele.

  • Certifique-se de fazer checkout da versão que você está depurando no momento

    defold$ git checkout 1.2.148

  • Pressione Apply changes

  • Agora você deve ver o código-fonte mapeado no seu projeto

    source

  • Adicione um breakpoint

    breakpoint

  • Pressione Run -> Debug "Appname" e invoque o código no qual você pretendia parar

    breakpoint

  • Agora você pode percorrer a callstack e também inspecionar as variáveis

Observações

Pasta de job da extensão nativa

Atualmente, o fluxo de trabalho é um pouco incômodo para desenvolvimento. Isso acontece porque o nome da pasta de job é aleatório para cada build, tornando o mapeamento de caminho inválido a cada build.

No entanto, funciona bem para uma sessão de depuração.

Os mapeamentos de caminho são armazenados no arquivo .iml do projeto no projeto do Android Studio.

É possível obter a pasta de job a partir do executável

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

A pasta de job é nomeada assim: job1298751322870374150, a cada vez com um número aleatório.