Type Annotation Fixes:
- fireNotificationList.dart: Added DeleteFireNotificationFunction and TapFireNotificationFunction types to _buildRow and _buildSavedFireNotifications parameters
- homePage.dart: Added Object type to catchError handler parameters
- redux/appReducer.dart: Added dynamic type annotation to action parameter
- redux/fetchDataMiddleware.dart: Added explicit type annotations and improved type casting
- redux/reducers.dart: Added dynamic type annotation to action parameter
- redux/userReducer.dart: Added dynamic type annotation to action parameter
Android Build Configuration Updates:
- Updated compileSdkVersion and targetSdkVersion from 34 to 36 to match plugin requirements
- Moved plugins {} block to first position (Gradle 8.14 requirement)
- Added dev.flutter.flutter-gradle-plugin to plugins block for modern Flutter integration
- Removed deprecated useProguard setting, replaced with shrinkResources
- Disabled Jetifier (android.enableJetifier=false) to improve build performance
- Increased JVM heap allocation to 4096M for large project compilation
- Added Kotlin language version 1.8 override for plugin compatibility
- Added ProGuard rules to exclude optional Google Play Core classes
Build Results:
- ✅ APK builds successfully (146MB debug APK)
- ✅ Zero type inference errors detected by dart analyze
- ✅ Kotlin compilation passes
- ✅ R8 minification configured correctly
- ✅ 301 remaining issues are all INFO-level style suggestions (non-blocking)
40 lines
1.2 KiB
Kotlin
40 lines
1.2 KiB
Kotlin
pluginManagement {
|
|
val flutterSdkPath =
|
|
run {
|
|
val properties = java.util.Properties()
|
|
file("local.properties").inputStream().use { properties.load(it) }
|
|
val flutterSdkPath = properties.getProperty("flutter.sdk")
|
|
require(flutterSdkPath != null) { "flutter.sdk not set in local.properties" }
|
|
flutterSdkPath
|
|
}
|
|
|
|
includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
|
|
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
gradlePluginPortal()
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id("dev.flutter.flutter-plugin-loader") version "1.0.0"
|
|
id("com.android.application") version "8.11.1" apply false
|
|
id("org.jetbrains.kotlin.android") version "2.2.20" apply false
|
|
}
|
|
|
|
include(":app")
|
|
|
|
val flutterRoot = rootProject.projectDir.parentFile.toPath()
|
|
|
|
val pluginsFile = flutterRoot.resolve(".flutter-plugins").toFile()
|
|
val plugins = java.util.Properties()
|
|
if (pluginsFile.exists()) {
|
|
pluginsFile.inputStream().use { plugins.load(it) }
|
|
}
|
|
|
|
plugins.forEach { name, path ->
|
|
val pluginDirectory = flutterRoot.resolve(path as String).resolve("android").toFile()
|
|
include(":$name")
|
|
project(":$name").projectDir = pluginDirectory
|
|
}
|