Skip to main content
VESDK/Flutter

Android Integration - Flutter 3.19.0+

Android integration of VideoEditor SDK for Flutter.

Android#

  1. Add the IMG.LY repository and plugin by opening the android/build.gradle file (not android/app/build.gradle) and adding the following block at the top:

    buildscript {
    repositories {
    mavenCentral()
    maven { url "https://artifactory.img.ly/artifactory/imgly" }
    }
    dependencies {
    classpath 'com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin:1.7.10-1.0.6' // Depending on your Kotlin version.
    classpath 'ly.img.android.sdk:plugin:10.9.0'
    }
    }

    The KSP version depends on the Kotlin version that you are using. In order to find the correct version, please visit the official KSP release page.

    In order to update PhotoEditor SDK for Android replace the version string 10.9.0 with a newer release.

  2. Still in the android/build.gradle file (not android/app/build.gradle), add this line:

    allprojects {
    repositories {
    ...
    + maven { url 'https://artifactory.img.ly/artifactory/imgly' }
    ...
    }
    }
  3. In the android/app/build.gradle file (not android/build.gradle) you will need to modify the minSdkVersion to at least 21 depending on the version of Flutter that you are using. We also recommend to update the buildToolsVersion to 34.0.0 as well as the compileSdkVersion to 34:

    android {
    - compileSdk flutter.compileSdkVersion
    + compileSdk 34
    + buildToolsVersion "34.0.0"
    ...
    defaultConfig {
    ...
    - minSdkVersion flutter.minSdkVersion
    + minSdkVersion 21
    ...
    }
    ...
    }
  4. In the same file, configure PhotoEditor SDK for Android by adding the following lines under the plugins {} block:

    apply plugin: 'ly.img.android.sdk'
    // Comment out the modules you don't need, to save size.
    IMGLY.configure {
    modules {
    include 'ui:text'
    include 'ui:focus'
    include 'ui:frame'
    include 'ui:brush'
    include 'ui:filter'
    include 'ui:sticker'
    include 'ui:overlay'
    include 'ui:transform'
    include 'ui:adjustment'
    include 'ui:text-design'
    // This module is big, remove the serializer if you don't need that feature.
    include 'backend:serializer'
    // Remove the asset packs you don't need, these are also big in size.
    include 'assets:font-basic'
    include 'assets:frame-basic'
    include 'assets:filter-basic'
    include 'assets:overlay-basic'
    include 'assets:sticker-shapes'
    include 'assets:sticker-emoticons'
    include 'backend:sticker-smart'
    include 'backend:background-removal'
    }
    }