Grayjoy is a Jetpack Compose and Material 3 rewrite of the Grayjay Android user interface. It keeps the JavaScript source/plugin machinery and other backend behavior derived from the original Grayjay project while shipping as a separate Android application.
The complete Android project is in grayjay-android/.
The unpacked Chromium extension for local YouTube handoff is in
browser-extension/; see its
README.md for installation and pairing.
Requirements:
- Android SDK
- JDK 21
From the repository root:
cd grayjay-android
./gradlew :app-compose:assembleDebugOn Windows, use gradlew.bat instead of ./gradlew. The debug APK is produced
under grayjay-android/app-compose/build/outputs/apk/debug/.
The Compose application uses the package com.futo.platformplayer.compose, so
it can be installed alongside the official Grayjay application.
-
grayjay-android/app-compose/— Compose/Material 3 application and UI. -
grayjay-android/grayjay-engine/— compatibility layer around the legacy Grayjay plugin and playback backend. -
grayjay-android/app/— upstream backend sources reused by the engine build. -
grayjay-android/app/src/*/assets/sources/— vendored JavaScript source plugins for stable and unstable builds. -
grayjay-android/dep/— vendored Polycentric and FUTO Pay dependencies. -
grayjay-android/docs/compose-rewrite.md— rewrite architecture and notes. -
browser-extension/— Manifest V3 YouTube handoff and PC remote-control extension. It communicates directly with Grayjoy over the local network.
The snapshot vendors the external source and dependency repositories directly. It does not require Git submodule initialization, and the bundled AAR files are stored as ordinary files rather than unresolved Git LFS pointers.
This is an independent derivative project based on
FUTO's Grayjay Android project.
Grayjay and its original source remain the work of their respective copyright
holders. See grayjay-android/LICENSE.md for the
license included with the source snapshot.
