immich/mobile/android/app/build.gradle
shenlong 2a47c35eb7
chore: pump flutter to 3.41.6 (#27834)
* chore: pump flutter to 3.41.6

* more isar cleanup

* ignore experimental use for TableMigration

---------

Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com>
2026-04-16 22:26:46 +05:30

116 lines
2.9 KiB
Groovy

plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
id "dev.flutter.flutter-gradle-plugin"
alias(libs.plugins.ksp)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.kotlin.compose)
}
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
if (keystorePropertiesFile.exists()) {
keystorePropertiesFile.withInputStream { keystoreProperties.load(it) }
}
android {
compileSdk = flutter.compileSdkVersion
ndkVersion = flutter.ndkVersion
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
coreLibraryDesugaringEnabled true
}
kotlinOptions {
jvmTarget = '17'
}
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
buildFeatures {
buildConfig true
compose true
}
defaultConfig {
applicationId "app.alextran.immich"
minSdk = 26
targetSdk = flutter.targetSdkVersion
versionCode flutter.versionCode
versionName flutter.versionName
}
signingConfigs {
release {
def keyAliasVal = System.getenv("ALIAS")
def keyPasswordVal = System.getenv("ANDROID_KEY_PASSWORD")
def storePasswordVal = System.getenv("ANDROID_STORE_PASSWORD")
keyAlias keyAliasVal ?: keystoreProperties['keyAlias']
keyPassword keyPasswordVal ?: keystoreProperties['keyPassword']
storeFile file("../key.jks").exists() ? file("../key.jks") : file(keystoreProperties['storeFile'] ?: '../key.jks')
storePassword storePasswordVal ?: keystoreProperties['storePassword']
}
}
buildTypes {
debug {
applicationIdSuffix '.debug'
versionNameSuffix '-DEBUG'
}
release {
signingConfig signingConfigs.release
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
namespace 'app.alextran.immich'
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
}
flutter {
source '../..'
}
dependencies {
implementation libs.okhttp
implementation libs.cronet.embedded
implementation libs.media3.datasource.okhttp
implementation libs.media3.datasource.cronet
implementation libs.kotlinx.coroutines.android
implementation libs.work.runtime.ktx
implementation libs.concurrent.futures
implementation libs.guava
implementation libs.glide
implementation libs.kotlinx.serialization.json
ksp libs.glide.ksp
coreLibraryDesugaring libs.desugar.jdk.libs
//Glance Widget
implementation libs.glance.appwidget
implementation libs.gson
// Glance Configure
implementation libs.activity.compose
implementation libs.compose.ui
implementation libs.compose.ui.tooling
implementation libs.compose.material3
implementation libs.lifecycle.runtime.ktx
implementation libs.material
}
// This is uncommented in F-Droid build script
//f configurations.all {
//f exclude group: 'com.google.android.gms'
//f }