1
6
Fork
You've already forked nup-android
0
Android client for streaming music from codeberg.org/derat/nup
  • Kotlin 99.3%
  • Shell 0.7%
2026年07月10日 09:15:18 +09:00
cloudbuild cloudbuild: Set CLOUDSDK_SKIP_PY_COMPILATION=1 for google-cloud-cli. 2026年07月10日 09:15:18 +09:00
nup Update dependencies. 2026年06月02日 12:20:58 +02:00
svg Add launcher.svg and status.svg. 2021年04月13日 11:47:55 -04:00
.editorconfig Update for ktlint 1.1.1. 2024年03月07日 06:44:06 -04:00
.gitignore Upgrade to Kotlin 2.0.0. 2024年07月26日 09:14:58 -04:00
.xmlprint.json Simplify .xmlprint.json. [skip ci] 2025年07月13日 14:43:12 -04:00
build.gradle.kts Update dependencies. 2026年06月02日 12:20:58 +02:00
dev.sh Support faster builds for development. 2025年01月03日 21:27:34 -04:00
gradle.properties Support faster builds for development. 2025年01月03日 21:27:34 -04:00
LICENSE Add LICENSE file. 2021年11月19日 07:33:33 -04:00
README.md Use SupportSQLiteDatabase.transaction in SongDatabase. 2025年08月01日 12:04:53 -04:00
settings.gradle.kts Update Gradle files to use Kotlin DSL instead of Groovy. 2024年02月26日 11:34:27 -04:00

nup-android

Build Status

Android client for streaming music from nup.

Overview

Phone

light mode screenshot dark mode screenshot browse screenshot search screenshot

Android Auto

Android Auto presets screenshot Android Auto browse screenshot Android Auto playback screenshot

Building and installing

Build APK:

gradle assembleDebug

Build and install APK:

gradle installDebug

The [dev.sh][./dev.sh] script can be used to build an unoptimized APK quickly (well, less slowly).

Debugging

Watch logs:

adb logcat --pid=$(adb shell pidof -s org.erat.nup) '*:D'

Logs are also written to text files in /storage/emulated/0/Android/data/org.erat.nup/files/logs.

View crashes:

adb shell dumpsys dropbox nup_crash --print

Crashes are also written to text files in /storage/emulated/0/Android/data/org.erat.nup/files/crashes.

View StrictMode violations (may include other apps):

adb shell dumpsys dropbox data_app_strictmode --print

Copy database off device:

adb shell "run-as org.erat.nup cat databases/NupSongs" >NupSongs

(Sigh: sqlite3 isn't installed on production devices, the normal adb shell user doesn't have permission to read the org.erat.nup data, and the org.erat.nup user doesn't have permission to write to /sdcard.)

Android Auto

Android Auto support can be tested using the Desktop Head Unit. Once the DHU is installed, select Start head unit server in the Android Auto app and run the following from the extras/google/auto directory in the SDK:

adb forward tcp:5277 tcp:5277
./desktop-head-unit

To convert an MP3 file so it can be passed to DHU as microphone input:

ffmpeg -i speech.mp3 -acodec pcm_s16le -ar 16000 -ac 1 speech.wav

It can then be specified via the DHU prompt:

> mic play /path/to/speech.wav

Testing

Run unit tests:

gradle testDebug

Run a single unit test (wildcards also supported):

gradle testDebug --tests 'SongDatabaseTest.rateAndTag'

Run lint checks:

gradle lintDebug