Files
Siro/siro_rider/android/app/build.gradle
2026-06-12 01:34:30 +03:00

123 lines
4.1 KiB
Groovy

plugins {
id "com.android.application"
// START: FlutterFire Configuration
id 'com.google.gms.google-services'
// END: FlutterFire Configuration
id "kotlin-android"
// The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
id "dev.flutter.flutter-gradle-plugin"
}
def keystoreProperties = new Properties()
def keystorePropertiesFile = rootProject.file('key.properties')
// Load keystore properties if the file exists
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(new FileInputStream(keystorePropertiesFile))
}
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0.0'
}
android {
namespace = "com.siro.siro_rider"
compileSdk = 36
ndkVersion "29.0.14033849"
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
coreLibraryDesugaringEnabled true
}
externalNativeBuild {
cmake {
path "src/main/cpp/CMakeLists.txt"
version "3.22.1"
}
}
kotlinOptions {
jvmTarget = "17"
}
sourceSets {
main {
jniLibs.srcDirs = ['src/main/jniLibs']
}
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "com.siro.siro_rider"
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
minSdkVersion = 30
targetSdk = 36
versionCode = flutterVersionCode.toInteger()
versionName = flutterVersionName
multiDexEnabled = true
ndk {
abiFilters "armeabi-v7a", "arm64-v8a"
}
// استدعاء المفتاح من ملف key.properties
manifestPlaceholders += [mapsApiKey: keystoreProperties['mapsApiKey'] ?: ""]
}
signingConfigs {
release {
// Defensively check if properties exist to avoid NullPointerException in BundleTool
if (keystoreProperties.isEmpty()) {
println "BUILD_LOG: ERROR - No properties found in key.properties. Release build will fail."
} else {
storeFile = keystoreProperties['storeFile'] ? file(keystoreProperties['storeFile']) : null
storePassword = keystoreProperties['storePassword']
keyAlias = keystoreProperties['keyAlias']
keyPassword = keystoreProperties['keyPassword']
// Final check to ensure no crucial signing variable is null
if (!storeFile || !storePassword || !keyAlias || !keyPassword) {
println "BUILD_LOG: ERROR - One or more signing properties are NULL. Check key.properties."
}
}
}
}
buildTypes {
release {
// Only assign signingConfig if the release config is valid
signingConfig signingConfigs.release
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
flutter {
source = "../.."
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.1.5'
implementation 'com.scottyab:rootbeer-lib:0.1.0'
implementation 'com.google.android.gms:play-services-safetynet:18.1.0'
implementation 'com.google.android.gms:play-services-location:21.3.0'
}