Skip to main content
PESDK/Flutter

Android Integration - Flutter 1.20.0 - 2.5.0

Android integration of PhotoEditor 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 changing the following block:

    buildscript {
    - ext.kotlin_version = '1.3.50'
    + ext.kotlin_version = '1.7.21'
    repositories {
    ...
    mavenCentral()
    + maven { url "https://artifactory.img.ly/artifactory/imgly" }
    ...
    }
    dependencies {
    ...
    + classpath 'com.google.devtools.ksp:com.google.devtools.ksp.gradle.plugin:1.7.21-1.0.8' // Depending on your `kotlin_version` 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 these lines at the bottom:

    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 {
    - compileSdkVersion 30
    + compileSdkVersion 34
    + buildToolsVersion "34.0.0"
    ...
    defaultConfig {
    ...
    - minSdkVersion 16
    + minSdkVersion 21
    ...
    }
    ...
    }
  4. In the same file, configure PhotoEditor SDK for Android by adding the following lines under apply plugin: "com.android.application":

    apply plugin: 'ly.img.android.sdk'
    apply plugin: 'kotlin-android'
    // 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'
    }
    }