-
-
Notifications
You must be signed in to change notification settings - Fork 210
Debugging
- enable Android Debug Bridge (adb) through these steps:
- enable developer options: settings->about->build (click several times) until the message "You are now a developer" appears
- enable ADB: settings->system preferences->developer options->enable ADB debugging
- identify IP address in settings->network
- have Android device and debug host connected to same local network
- on host install Android SDK and debug tools
- on host launch adb connect or connect to device via USB (does not require any
adb connect
command) - set the android serial so that no
-s
argument is required on adb:export ANDROID_SERIAL="IDOFMYDEVICE"
whereIDOFMYDEVICE
is identified viaadb devices
- for amazon firestick devices some instructions are provided there to set up adb https://developer.amazon.com/fr/docs/fire-tv/connecting-adb-to-device.html
- get nova specific logs via logcat under linux/macos/powershell:
adb logcat --pid=$(adb shell pidof -s org.courville.nova)
- get nova specific logs via logcat under windows command prompt:
for /f %p in ('adb shell pidof -s org.courville.nova') do adb logcat --pid=%p
- provide supported codecs on your platform via the following commands or using an export of the output provided by this app on your device https://play.google.com/store/apps/details?id=com.parseus.codecinfo
adb shell cat /vendor/etc/media_codecs_*.xml
adb shell dumpsys media.player
- for audio passthrough issues please report
adb shell dumpsys media.audio_policy
- relevant logs when playing the file on the device can be extracted using
adb logcat -v brief | grep -i -E "avos|mediacodec|omx|audio"
- multimedia native core can be debugged via options using CLI tool av.sh
- video
av.sh dbgv 2
(look at buffer fill [ 0%]) - buffer size
av.sh smb
- stream
av.sh dbgs 2
- others
dbgcv dbgp dbgmng dbgsub dbgy dbgm dbgca
- audio
av.sh dbgca 2
Starting with v5.15.16 version, nova uses slf4j and logback-android debug infrastructure allowing to activate logs on release app when needed through pushing a logback.xml
specific configuration file in /sdcard/Android/data/org.courville.nova/files/logback/
via (note that the correct path has been fixed with nova version v6.3.29):
adb push logback.xml /sdcard/Android/data/org.courville.nova/files/logback/logback.xml
An exemple of such a file can be found here: logback.xml
.
In order to get logs you need to edit the logback.xml
file and switch the debug verbosity from INFO
to DEBUG
or TRACE
when appropriate. Logs will be shown to logcat appender and not saved in the debug.log
file unless you add LOG_FILE
appender to the class you want to debug.
After force stop nova and relaunch of nova, it should generates logs and you can pull them via:
adb pull /sdcard/Android/data/org.courville.nova/files/logback/debug.log
To stop all logs to be generated you can:
adb shell rm /sdcard/Android/data/org.courville.nova/files/logback/logback.xml
When debugging SMB jcifs-ng you can use this specific file: logback-smb.xml
(you will need to rename it to logback.xml
before pushing it to the device via adb as explained above).
To dump nova mediaDb you can click 10 times on the nova settings->software decoding, it will enable more options, one of them at the end of the settings list being media database export. You will need to pull it from internal storage located in /sdcard/org.courville.nova-media.db
on v5 but located in /sdcard/Android/org.courville.nova/files/org.courville.nova-media.db
on v6.