Ao solucionar problemas de comportamento do ambiente de execução e desempenho no seu app Android, é possível registrar chamadas de API ARCore no registro do dispositivo Android.
Quando você ativa a geração de registros de chamadas, o ARCore registra todas as chamadas de API com o nome da API C, independentemente do SDK com que o app foi criado. Todos os nomes da API C podem ser encontrados na documentação de referência da API C, com os parâmetros e valores de retorno deles.
Ative o registro de chamadas de API
As chamadas da API ARCore que não usam parâmetros ArSession*
, como as funções *_destroy
e *_release
, não são registradas.
Siga estas etapas para ativar a geração de registros de chamadas da API ARCore.
Confira se o Google Play Services para RA (ARCore) 1.23 ou mais recente está instalado:
- No Windows, execute
adb shell pm dump com.google.ar.core | findstr /i "packages: versionName"
. - No macOS, execute
adb shell pm dump com.google.ar.core | egrep -i versionName\|packages:
.
- No Windows, execute
Abra a experiência de RA no seu app para que haja uma sessão ativa do ARCore em execução. Seu app precisa estar no modo RA para receber a transmissão que permite a geração de registros. As imagens de visualização da câmera de RA precisam aparecer na tela do dispositivo.
Use o seguinte comando de transmissão do gerenciador de atividades para ativar o registro de chamadas: para seu app.
# Enables ARCore call logging and saves a setting to your app's
# Android Shared Preferences, so that call logging remains enabled in
# subsequent ARCore sessions.
# Your app must have an actively running ARCore session to receive the broadcast.
adb shell am broadcast -a com.google.ar.core.ENABLE_API_CALL_LOGGING
Desativar o registro de chamadas de API
Siga estas etapas para desativar a geração de registros de chamadas da API ARCore.
Abra a experiência de RA no seu app para que haja uma sessão ativa do ARCore em execução. Seu app precisa estar no modo RA para receber a transmissão que desativa a geração de registros. As imagens de visualização da câmera de RA precisam aparecer na tela do dispositivo.
Use o seguinte comando de transmissão do gerenciador de atividades para desativar o registro de chamadas no seu app:
# Disables ARCore call logging and saves a setting to your app's
# Android Shared Preferences, so that call logging remains disabled in
# subsequent ARCore sessions.
# Your app must have an actively running ARCore session to receive the broadcast.
adb shell am broadcast -a com.google.ar.core.DISABLE_API_CALL_LOGGING
Como visualizar a saída
O ARCore usa a tag ARCore-Api
para toda a saída de geração de registros da API ARCore. Use o
comando a seguir para filtrar apenas essas chamadas.
# Currently, ARCore only logs API calls that take an `ArSession*` argument.
# Functions that do not take session parameters such as `*_destroy` and `*_release` are not logged.
# -s is equivalent to the filter expression '*:S', which sets priority for all tags to silent.
adb logcat -s ARCore-Api
A taxa do ARCore limita a saída para reduzir o spam de registro. Ele agrega as mensagens de registro ignoradas em uma única mensagem.
Exemplo de saída de mensagens de registro ignoradas:
D ARCore-Api: ArFrame_create(<ptr>)
D ARCore-Api: ArSession_update(<ptr>) -> AR_SUCCESS
D ARCore-Api: ArFrame_acquireCamera(<ptr>, <ptr>)
D ARCore-Api: ArFrame_getDisplayGeometryChanged(<ptr>, <ptr>)
D ARCore-Api: ArCamera_getTrackingFailureReason(<ptr>, <ptr>)
D ARCore-Api: ArFrame_getTimestamp(<ptr>, <ptr>)
D ARCore-Api: ArSession_setDisplayGeometry(0, 1080, 2195)
D ARCore-Api: ArFrame_create(<ptr>) (suppressing for 10s)
D ARCore-Api: ArSession_update(<ptr>) -> AR_SUCCESS (suppressing for 10s)
D ARCore-Api: ArFrame_acquireCamera(<ptr>, <ptr>) (suppressing for 10s)
D ARCore-Api: ArFrame_getDisplayGeometryChanged(<ptr>, <ptr>) (suppressing for 10s)
D ARCore-Api: ArCamera_getTrackingFailureReason(<ptr>, <ptr>) (suppressing for 10s)
D ARCore-Api: ArFrame_getTimestamp(<ptr>, <ptr>) (suppressing for 10s)
D ARCore-Api: ArSession_setDisplayGeometry(0, 1080, 2195) (suppressing for 10s)