-
-
Notifications
You must be signed in to change notification settings - Fork 202
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:
adb logcat --pid=$(adb shell pidof -s org.courville.nova)
- get nova specific logs via logcat under windows skip the pid part (this will provide all the logs of the platform and not only nova):
adb logcat
- 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
- 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 the logback.xml
specific configuration file in /sdcard/Android/data/org.courville.nova/files/Android/data/org.courville.nova/files/logback/
via:
adb push logback.xml /sdcard/Android/data/org.courville.nova/files/Android/data/org.courville.nova/files/logback/logback.xml
After force stop nova and relaunch of nova, it should generates logs and you can pull them via:
adb pull /sdcard/Download/org.courville.nova/nova.log nova.log
To stop all logs to be generated you can:
adb shell
cd /sdcard/Download/org.courville.nova
rm logback.xml
exit
Possible logback.xml
files can be found below.
One specific file for SMB:
<appender name="SMB_FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_DIR}/nova-smb.log</file>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_DIR}/nova-log-smb.%d.txt</fileNamePattern>
<maxHistory>7</maxHistory>
<totalSizeCap>50MB</totalSizeCap>
</rollingPolicy>
</appender>
<logger name="com.archos.filecorelibrary.jcifs" level="DEBUG">
<appender-ref ref="SMB_FILE"/>
<appender-ref ref="logcat"/>
</logger>
<logger name="com.archos.filecorelibrary.samba" level="DEBUG">
<appender-ref ref="SMB_FILE"/>
<appender-ref ref="logcat"/>
</logger>
<logger name="jcifs.netbios.UdpDiscovery" level="DEBUG">
<appender-ref ref="SMB_FILE"/>
<appender-ref ref="logcat"/>
</logger>
<logger name="jcifs.netbios.NameServiceClientImpl" level="TRACE">
<appender-ref ref="SMB_FILE"/>
</logger>
<logger name="jcifs.smb.SmbSessionImpl" level="TRACE">
<appender-ref ref="SMB_FILE"/>
</logger>
<logger name="jcifs.smb.SmbTransportImpl" level="TRACE">
<appender-ref ref="SMB_FILE"/>
</logger>
Other options can be activated for instance:
<!--logger name="com.archos.mediacenter.video.browser.MainActivity" level="DEBUG"/-->
<!--logger name="com.archos.mediacenter.video.player.Player" level="DEBUG"/-->
<!--logger name="com.archos.mediacenter.video.player.PlayerActivity" level="DEBUG"/-->
<!--logger name="com.archos.mediascraper.AutoScrapeService" level="DEBUG"/-->
<!-- MovieScraper3: TRACE for http client debug or DEBUG -->
<!--logger name="com.archos.mediascraper.xml.MovieScraper3" level="DEBUG"/-->
<!-- ShowScraper3: TRACE for http client debug or DEBUG -->
<!--logger name="com.archos.mediascraper.xml.ShowScraper3" level="DEBUG"/-->
<!--logger name="com.archos.mediascraper.AllCollectionScrapeService" level="DEBUG"/-->
<!--logger name="com.archos.mediascraper.ShowTags" level="DEBUG"/-->
<!--logger name="com.archos.mediascraper.MovieTags" level="DEBUG"/-->
<!--logger name="com.archos.mediascraper.CollectionTags" level="DEBUG"/-->
<!--logger name="com.archos.mediascraper.thetvdb.MyTheTVdb" level="TRACE"/-->
<!--logger name="com.archos.mediascraper.themoviedb3.MyTmdb" level="TRACE"/-->
<!--logger name="com.archos.environment.NetworkState" level="DEBUG"/-->
<!--logger name="com.archos.mediaprovider.video.RemoteStateService" level="DEBUG"/-->
<!-- SubtitlesDownloaderActivity: TRACE for client debug or DEBUG -->
<!--logger name="com.archos.mediacenter.video.utils.SubtitlesDownloaderActivity" level="TRACE"/-->
<!-- ftp: TRACE for verbose or DEBUG -->
<!--logger name="com.archos.filecorelibrary.ftp" level="DEBUG"/-->
To activate any of these options remove the starting !--
and trailing --
.
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.