Update: 2026-05-08 06:19:56

This commit is contained in:
Hamza-Ayed
2026-05-08 06:19:56 +03:00
parent df92a44878
commit 753497649a
18 changed files with 1310 additions and 21 deletions

View File

@@ -1,3 +1,6 @@
import java.util.Properties
import java.io.FileInputStream
plugins {
id("com.android.application")
// START: FlutterFire Configuration
@@ -8,10 +11,17 @@ plugins {
id("dev.flutter.flutter-gradle-plugin")
}
// Load keystore properties from key.properties file
val keystorePropertiesFile = rootProject.file("key.properties")
val keystoreProperties = Properties()
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
}
android {
namespace = "com.example.musadaq_app"
namespace = "com.musadaq.app"
compileSdk = flutter.compileSdkVersion
ndkVersion = "27.0.12077973"
ndkVersion = "28.2.13676358"
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
@@ -22,11 +32,19 @@ android {
jvmTarget = JavaVersion.VERSION_11.toString()
}
signingConfigs {
create("release") {
if (keystorePropertiesFile.exists()) {
keyAlias = keystoreProperties["keyAlias"] as String
keyPassword = keystoreProperties["keyPassword"] as String
storeFile = file(keystoreProperties["storeFile"] as String)
storePassword = keystoreProperties["storePassword"] as String
}
}
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId = "com.example.musadaq_app"
// You can update the following values to match your application needs.
// For more information, see: https://flutter.dev/to/review-gradle-config.
applicationId = "com.musadaq.app"
minSdk = 24
targetSdk = flutter.targetSdkVersion
versionCode = flutter.versionCode
@@ -35,9 +53,17 @@ android {
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig = signingConfigs.getByName("debug")
signingConfig = if (keystorePropertiesFile.exists()) {
signingConfigs.getByName("release")
} else {
signingConfigs.getByName("debug")
}
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
}

View File

@@ -7,9 +7,9 @@
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:512384487867:android:eac271c0b0ea64b708749e",
"mobilesdk_app_id": "1:512384487867:android:6098e34775ad6c7708749e",
"android_client_info": {
"package_name": "com.example.musadaq_app"
"package_name": "com.musadaq.app"
}
},
"oauth_client": [],

View File

@@ -0,0 +1,22 @@
# Flutter ProGuard Rules for Musadaq
# Keep Flutter engine
-keep class io.flutter.** { *; }
-keep class io.flutter.plugins.** { *; }
# Keep Firebase
-keep class com.google.firebase.** { *; }
# Keep Dio
-keep class io.github.nicekun.** { *; }
-dontwarn okhttp3.**
-dontwarn okio.**
# Keep CameraAwesome
-keep class com.apparence.camerawesome.** { *; }
# Keep ObjectBox
-keep class io.objectbox.** { *; }
# Ignore missing Play Core classes referenced by Flutter Engine
-dontwarn com.google.android.play.core.**

View File

@@ -16,7 +16,7 @@
<uses-permission android:name="android.permission.USE_BIOMETRIC"/>
<application
android:label="musadaq_app"
android:label="مُصادَق"
android:name="${applicationName}"
android:icon="@mipmap/launcher_icon"
android:enableOnBackInvokedCallback="true">

View File

@@ -1,4 +1,4 @@
package com.example.musadaq_app
package com.musadaq.app
import io.flutter.embedding.android.FlutterFragmentActivity

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">مُصادَق</string>
</resources>

File diff suppressed because one or more lines are too long