Skip to content

A simple, rational music player for android

License

Notifications You must be signed in to change notification settings

OxygenCobalt/Auxio

Repository files navigation

Auxio

A simple, rational music player for Android.

Latest Version Releases Minimum SDK Version

Get it on Accrescent

Translation status

About

Auxio is a local music player with a fast, reliable UI/UX without the many useless features present in other music players. Built off of modern media playback libraries, Auxio has superior library support and listening quality compared to other apps that use outdated Android functionality. In short, It plays music.

The default branch is the development version of the repository. For a stable version, see the master branch.

Screenshots

Features

  • Playback based on Media3 ExoPlayer
  • Snappy UI derived from the latest Material Design guidelines
  • Opinionated UX that prioritizes ease of use over edge cases
  • Customizable behavior
  • Support for disc numbers, multiple artists, release types, precise/original dates, sort tags, and more
  • Advanced artist system that unifies artists and album artists
  • SD Card-aware folder management
  • Reliable playlisting functionality
  • Playback state persistence
  • Android Auto support
  • Automatic gapless playback
  • Full ReplayGain support (On MP3, FLAC, OGG, OPUS, and MP4 files)
  • External equalizer support (ex. Wavelet)
  • Edge-to-edge
  • Embedded covers support
  • Search functionality
  • Headset autoplay
  • Stylish widgets that automatically adapt to their size
  • Completely private and offline
  • No rounded album covers (if you want them)

Permissions

  • Storage (READ_MEDIA_AUDIO, READ_EXTERNAL_STORAGE) to read and play your music files
  • Services (FOREGROUND_SERVICE, WAKE_LOCK) to keep the music playing in the background
  • Notifications (POST_NOTIFICATION) to indicate ongoing playback and music loading

Donate

You can support Auxio's development through my Github Sponsors page. Get the ability to prioritize features and have your profile added to the README, Release Changelogs, and even the app itself!

Legendary supporters:

@bkkellyh - $500!


$8/month supporters:

And **1** Private Sponsor!

Building

Auxio relies on a patched version of Media3 that enables some extra playback features, alongside taglib for metadata parsing. This adds some caveats to the build process:

  1. cmake and ninja-build must be installed before building the project.
  2. The project uses submodules, so when cloning initially, use git clone --recurse-submodules to properly download the external code.
  3. You are unable to build this project on windows, as the custom Media3 build runs shell scripts that will only work on unix-based systems.

Set up Android Studio

Install Android Studio.

pkg -S android-studio

Configuring Android Studio:

  • Be sure to have NDK tools, version 28.2.13676358. You can search it on Languages & Frameworks > Android SDK.

  • Install Java-21 with your system package manager

    sudo pkg -S jdk21-openjdk

    Additionally: Set java version to jdk21-openjdk

  • Run ./gradlew assembleDebug

Connecting to your Android Device

You can connect your Mobile Phone through USB to run the app.

  1. Enable Developer Options on your phone

    • Go to Settings > About phone
    • Tap Build number 7 times until you see "You are now a developer!"
  2. Enable USB debugging

    • Go to Settings > Developer options
    • Turn on USB debugging
  3. Connect your phone to the computer

    • Use a USB cable
    • On your phone, accept the Allow USB debugging? prompt
  4. Verify that your device is detected

    cd ~/Android/Sdk/platform-tools
    ./adb devices

Android Studio also offers virtual devices that come with this pre-configured.

Install the app on the Android Phone

To install the app on your physical device or emulator, run this command:

./gradlew installDebug

Auxio should now appear in the list of Apps

Load music to Auxio (Optional)

You can move files from your pc to your device / emulator to test the music using this command:

cd ~/Android/Sdk/platform-tools
./adb push ~Music/ /sdcard/Music

Contributing

Auxio accepts most contributions as long as they follow the Contribution Guidelines.

However, feature additions and major UI changes are less likely to be accepted. See Why Are These Features Missing? for more information.

License

GNU GPLv3 Image

Auxio is Free Software: You can use, study share and improve it at your will. Specifically you can redistribute and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

More information can be found here.