Skip to main content
PESDK/Flutter

Android Integration - Flutter 3.19.0+

Android integration of PhotoEditor SDK for Flutter.

Android#

  1. Add the IMG.LY repository by opening the android/build.gradle file (not android/app/build.gradle):

    allprojects {
    repositories {
    ...
    + maven { url 'https://artifactory.img.ly/artifactory/imgly' }
    ...
    }
    }
  2. 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
    ...
    }
    ...
    }
  3. In the android/settings.gradle file, you will need to add our repository as well:

    repositories {
    ...
    + maven { url "https://artifactory.img.ly/artifactory/imgly" }
    }
  4. Still in the same file, you will also need to add our plugin as well as the KSP plugin:

    plugins {
    ...
    + id "com.google.devtools.ksp" version "1.7.21-1.0.8" apply false
    + id "ly.img.android.sdk" version "10.9.0" apply false
    }

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.

  1. In the same file, configure PhotoEditor SDK for Android by adding the following lines under the plugins {} block:

    // 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'
    }
    }