Jellyfin Mobile is an Android app built with Cordova. We welcome all contributions and pull requests! If you have a larger feature in mind please open an issue so we can discuss the implementation before you start. Even though the client is a web wrapper there are still lots of improvements and bug fixes that can be accomplished with Java. For APKs, see releases page where you can choose between the regular APK and a debugging version (we're also working on a libre version that doesn't depend on Google Play Service, but it's not ready yet).
Most of the translations can be found in the web client since it's the base for the Android client as well. Translations can be improved very easily from our Weblate instance linked above. Look through the following graphic to see if your native language could use some work!
Clone or download this repository
git clone https://github.com/jellyfin/jellyfin-android.git
cd jellyfin-android
Install Cordova and other build dependencies in the project directory via npm
npm install
Prepare the Cordova platforms
npx cordova prepare
If any changes are made to src/
, the www/
directory will need to be rebuilt using the following command.
npx gulp
Set the NODE_ENV
environment variable to development
if you want to copy the source files without minification. The JELLYFIN_WEB_DIR
environment variable can be used to override the location of jellyfin-web
.
You can use the -d
flag if you want to build a debug version. A release version will need to be signed before it will run.
npx cordova build android
npx cordova run android
You can optionally use Docker to build the APK to avoid the above requirements.
Replace release with the desired build flavor (production, libre, or debug) and output with the directory you want the APKs sent on completion.
docker build . -t "jellyfin-android"
docker run --rm -e "RELEASE=${release}" -v "${output}:/dist" "jellyfin-android"
ANDROID_HOME
Cordova needs that environment vairable set to the location of your Android SDK to build the app. If you are using linux it will be somewhere in your home directory.
Android Studio will write over gradlew
occasionally but doesn't set it as executable. Go to platforms/android
and set that file as executable to fix the build for Cordova.
index.html
Make sure the web source has been properly copied to www
using gulp. If you are using Android Studio you have to build with cordova at least once so the files are copied into the android source files.