jellyfin-archive / jellyfin-android-original

Android Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
271 stars 65 forks source link

Jellyfin Android

Part of the Jellyfin Project


Logo Banner

GPL 2.0 License Current Release Translation Status
Donate Feature Requests Discuss on our Forum Chat on Matrix Join our Subreddit

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!

Detailed Translation Status

Build Process

Dependencies

Getting Started

  1. Clone or download this repository

    git clone https://github.com/jellyfin/jellyfin-android.git
    cd jellyfin-android
  2. Install Cordova and other build dependencies in the project directory via npm

    npm install
  3. Prepare the Cordova platforms

    npx cordova prepare

Prepare Environment

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.

Build APK

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

Deploy to Emulator

npx cordova run android

Docker

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"

Troubleshooting

Failed to find 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.

Command failed with exit code EACCES

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.

File not Found 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.