diff --git a/android/app/build.gradle.kts b/android/app/build.gradle.kts
index b2b158d..ba53981 100644
--- a/android/app/build.gradle.kts
+++ b/android/app/build.gradle.kts
@@ -13,6 +13,15 @@ val keystoreProperties = Properties()
if (keystorePropertiesFile.exists()) {
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
}
+val hasReleaseKeystore = listOf(
+ "keyAlias",
+ "keyPassword",
+ "storeFile",
+ "storePassword",
+).all { key ->
+ val value = keystoreProperties[key] as String?
+ !value.isNullOrBlank()
+}
android {
namespace = "com.jamshalat.diary"
@@ -30,12 +39,14 @@ android {
}
signingConfigs {
- create("release") {
- keyAlias = keystoreProperties["keyAlias"] as String?
- keyPassword = keystoreProperties["keyPassword"] as String?
- storeFile = keystoreProperties["storeFile"]?.let { file(it) }
- storePassword = keystoreProperties["storePassword"] as String?
- storeType = "PKCS12"
+ if (hasReleaseKeystore) {
+ create("release") {
+ keyAlias = keystoreProperties["keyAlias"] as String?
+ keyPassword = keystoreProperties["keyPassword"] as String?
+ storeFile = keystoreProperties["storeFile"]?.let { file(it) }
+ storePassword = keystoreProperties["storePassword"] as String?
+ storeType = "PKCS12"
+ }
}
}
@@ -52,9 +63,13 @@ 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("release")
+ // Use release keystore if configured, otherwise fallback to debug
+ // signing so local release APK builds remain possible.
+ signingConfig = if (hasReleaseKeystore) {
+ signingConfigs.getByName("release")
+ } else {
+ signingConfigs.getByName("debug")
+ }
}
}
}
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 9e92e50..9430424 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -2,6 +2,11 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+