Add the SDK (Android)

Add the SDK to your Android app.


To add JWP's video experience to your app, you must import the JWP Android SDK and then configure your project.

You can download the SDK using the Gradle or Local approaches listed below.

ApproachNotes
Gradle
(Recommended)
  • Gradle will download the SDK’s core and optional modules for you.
  • ProGuard is automatically configured.
  • An existing app is required.
Local
  • The JWP Android SDK must be downloaded and unzipped.
  • Core and optional modules must be imported manually.
  • ProGuard must be configured.
  • An existing app is required.

πŸ’‘

If you have any problems completing any of these tasks and have a valid JWP license, please log a support ticket for assistance.



Gradle

Import the Android SDK into your project with Gradle.

  1. From within Android Studio, open your app.
  2. In the project build.gradle file, add the JWP Maven repository.
    allprojects {
        repositories {
    	...
            maven {
                url 'https://mvn.jwplayer.com/content/repositories/releases/'
            }
        }
    }
    

  1. In the app build.gradle file:

    • Add the dependencies. When prompted by Android Studio, update the dependency versions.
    • Configure compileOptions to support Java 8 language support.
    ext.jwPlayerVersion = '4.0.0'
    ext.exoplayerVersion = '1.1.1'
    
    dependencies {
        ...   
        // JWP SDK
        implementation "com.jwplayer:jwplayer-core:$jwPlayerVersion"
        implementation "com.jwplayer:jwplayer-common:$jwPlayerVersion"    
        ...
    }
    

    android {
        defaultConfig {
            ...
            minSdkVersion 21
            multiDexEnabled true
        }
        ...
        compileOptions {
            sourceCompatibility = '1.8'
            targetCompatibility = '1.8'
        }
    }
    

  1. In the gradle.properties file, set android.useAndroidX and android.enableJetifier to true. These plugin files enable you to use androidx-namespaced libraries in your project.

    πŸ“˜

    If you are using a current version of Android Studio, the gradle.properties file should already contain these settings.


    # Project-wide Gradle settings.
    
    android.useAndroidX=true
    android.enableJetifier=true
    

  1. Sync Gradle.

You have imported the JWP Android SDK into your project. You can now configure ProGuard and configure the manifest.



Local

Download the SDK .zip file

  1. On your Players page under Android SDK, click Downloads. The Android SDK Downloads panel opens.

    πŸ“˜

    If you have more than one property in your account, select the property from the dropdown menu at the top of the page. Each property has a unique set of license keys.


  1. Click the download icon for the version of the Android SDK that you want to download.
  2. On your computer, unzip the SDK .zip file.


Add the SDK dependencies

  1. From within Android Studio, open your app.
  2. Create a new directory in your app directory named libs.
  3. Copy and paste jwplayer-core-x.x.x.aar into the libs folder.
  4. Copy and paste jwplayer-common-x.x.x.aar into the libs folder.


Complete app and project configurations

  1. In the app build.gradle file:

    • Add the dependencies. When prompted by Android Studio, update the dependency versions.

      ext.exoplayerVersion = '1.1.1'
      
      dependencies {
          ...
          // JWP SDK classes
          implementation fileTree(dir: 'libs', include: 'jwplayer-core-x.x.x.aar')
          implementation fileTree(dir: 'libs', include: 'jwplayer-common:x-x.x.x.aar')
      
          // ExoPlayer dependencies
      
          implementation "androidx.media3:media3-common:$exoplayerVersion"
          implementation "androidx.media3:media3-extractor:$exoplayerVersion"
          implementation "androidx.media3:media3-exoplayer:$exoplayerVersion"
          implementation "androidx.media3:media3-exoplayer-dash:$exoplayerVersion"
          implementation "androidx.media3:media3-exoplayer-hls:$exoplayerVersion"
          implementation "androidx.media3:media3-exoplayer-smoothstreaming:$exoplayerVersion"
          implementation "androidx.media3:media3-ui:$exoplayerVersion"
      
          // JWP Native UI dependencies
          implementation 'com.squareup.picasso:picasso:2.71828'
          implementation 'androidx.viewpager2:viewpager2:1.0.0'
          implementation 'com.android.volley:volley:1.2.0'
          implementation 'androidx.recyclerview:recyclerview:1.2.1'
          implementation 'androidx.appcompat:appcompat:1.3.1'
          implementation 'com.google.android.material:material:1.4.0'
          implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
      }
      
    • Configure compileOptions to support Java 8 language support.

      android {
          defaultConfig {
              ...
              minSdkVersion 21
              multiDexEnabled true
          }
          ...
          compileOptions {
              sourceCompatibility = '1.8'
              targetCompatibility = '1.8'
          }
      }
      

  1. In the gradle.properties file, set android.useAndroidX and android.enableJetifier to true. These plugin files enable you to use androidx-namespaced libraries in your project.

    πŸ“˜

    If you are using a current version of Android Studio, the gradle.properties file should already contain these settings.

    # Project-wide Gradle settings.
    
    android.useAndroidX=true
    android.enableJetifier=true
    

  1. Sync Gradle.

You have imported the JWP Android SDK into your project. You can now configure ProGuard and configure the manifest.