Skip to content

← Firmware Downloads

Firmware README · Y2

About Inniclassic

Inniclassic build for the Innioasis Y2.

Also known as: README.md · JonaszPotoniec/inniclassic-y2 · inniclassic-y2 · Inniclassic · jonaszpotoniec-inniclassic-y2

Y2
Downloads from Firmware Archive940

This fork exists for OTA updates from old clients. Use ClassyPlayer/Classy

Classy

Platform Device Status

Classy is an iPod Classic-style launcher and media player for Innioasis Y1 and Y2 portable audio players, based on InniClassic by FabianZettl/inniclassic and ismileblue/y1_launcher. It recreates the classic click wheel interface while adding features like hardware FM radio, podcasts, video playback, and a library-based Music Quiz.


Screenshots

Music (Classic Light)Music (Classic Dark)Cover Flow
Music menu in Classic LightMusic menu in Classic DarkCover Flow
Now Playing (Classic Light)Now Playing (Classic Dark)Synced lyrics
Now Playing in Classic LightNow Playing in Classic DarkSynced lyrics on Now Playing

The album covers in the screenshots are from Creative Commons albums, for example Edge of Summer by Tenth Cloud (CC BY-SA 4.0; photo Anatoliy Laptev, artwork Anna Riet). The credits and the licence of each album are at the end of site/index.html, in Music and covers in the screenshots.


Features

The iPod Classic experience

Music library

Sound, controls and settings

Beyond music

Innioasis Y2 support

Known limitations

Installation

Two installation methods are available depending on whether you want a full ROM install or an APK update.

Prebuilt firmware packages with Classy preinstalled as the default system launcher are available on Releases:

To flash via the updater:

  1. Download the archive matching your device from Releases and ensure it is named rom.zip (required by the updater tool).
  2. Open the Innioasis Updater, choose rom.zip as the local firmware package, and follow the on-screen steps.
  3. Once the flashing process completes and the player restarts, Classy starts automatically.

[!WARNING] Keep the device connected and powered until the update finishes. Do not unplug the cable during the flash.

Method 2: Standalone APK update

Use this method to update the app on an existing device without reflashing the full system partition.

  1. Uninstall the existing launcher package first:

    `bash adb uninstall com.themoon.y1 ` If pre-installed as a system application, uninstall it for the current user: `bash adb shell pm uninstall --user 0 com.themoon.y1 ` > [!NOTE] > Uninstalling is required due to differing APK signature keys between builds. Your music library, custom themes in /storage/sdcard0/Y1_Themes, and .scrobbler.log on storage remain untouched.

  2. Download Classy-<version>.apk from Releases.
  3. Install the APK via ADB:

    `bash adb install Classy-.apk `

  4. Optional step if Bluetooth pairing prompts for elevated permissions unavailable through the interface:

    `bash adb shell pm grant com.themoon.y1 android.permission.WRITE_SECURE_SETTINGS `

Pre-building the library cache

Classy caches scanned track metadata to .y1_library_cache.json at the root of the SD card. Files already indexed in this file skip tag extraction during subsequent scans.

For large music libraries with thousands of songs, you can generate this cache on a computer using tools/build_library_cache.py. Running tag extraction on desktop hardware takes seconds, leaving the portable player to perform only a fast file existence check when the card is inserted.

The script requires Python with the mutagen package installed (pip install mutagen) and direct filesystem access to the microSD card through a card reader or USB mass storage mode (MTP is not supported):

python3 tools/build_library_cache.py /path/to/sdcard

Run the script after transferring music to the card and before mounting it back into the player.

Building from source

Last.fm API credentials are not included in this repository. To compile with scrobbling support:

  1. Register an API application at last.fm/api/account/create.
  2. Add your credentials to local.properties:

    `properties lastfm.api.key=YOUR_KEY lastfm.api.secret=YOUR_SECRET `

  3. Compile with ./gradlew assembleDebug. If you omit the keys, the build succeeds and all features work except Last.fm submission.

Credits and license

Version history is documented on GitHub Releases.

Contributors

Jonasz Potoniec
Jonasz Potoniec
Henrique Ferrolho
Henrique Ferrolho

This project follows the all-contributors specification. Contributions of any kind welcome!