OscarGil03 месяцев назад: 3
Родитель
Сommit
8f381b1e1e

+ 7 - 3
android/app/build.gradle

@@ -28,12 +28,16 @@ android {
     ndkVersion flutter.ndkVersion
 
     compileOptions {
-        sourceCompatibility JavaVersion.VERSION_1_8
-        targetCompatibility JavaVersion.VERSION_1_8
+        sourceCompatibility JavaVersion.VERSION_17
+        targetCompatibility JavaVersion.VERSION_17
     }
 
     kotlinOptions {
-        jvmTarget = '1.8'
+        jvmTarget = JavaVersion.VERSION_17
+    }
+
+    kotlin {
+        jvmToolchain(17)
     }
 
     sourceSets {

+ 91 - 1
android/build.gradle

@@ -1,11 +1,12 @@
 buildscript {
-    ext.kotlin_version = '1.7.10'
+    ext.kotlin_version = '1.8.22'
     repositories {
         google()
         mavenCentral()
     }
 
     dependencies {
+        classpath 'com.android.tools.build:gradle:8.1.0'
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
     }
 }
@@ -20,7 +21,96 @@ allprojects {
 rootProject.buildDir = '../build'
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
+
+    // Ajuste de dependencias
+    project.configurations.all {
+        resolutionStrategy.eachDependency { details ->
+            if (details.requested.group == 'com.android.support' && !details.requested.name.contains('multidex')) {
+                details.useVersion "27.1.1"
+            }
+            if (details.requested.group == "org.jetbrains.kotlin") {
+                details.useVersion "1.8.22"
+            }
+        }
+    }
+
+    // Ajuste del namespace y eliminación del atributo 'package' en manifests
+    project.plugins.withId("com.android.library") {
+        project.android {
+            if (namespace == null || namespace.isEmpty()) {
+                namespace = "${project.group}.${project.name}".replace('-', '_')
+            }
+
+            project.tasks.configureEach { task ->
+                if (task.name.contains("processDebugManifest") || task.name.contains("processReleaseManifest")) {
+                    task.doFirst {
+                        File manifestFile = file("${projectDir}/src/main/AndroidManifest.xml")
+                        if (manifestFile.exists()) {
+                            String manifestContent = manifestFile.text
+                            if (manifestContent.contains('package=')) {
+                                manifestContent = manifestContent.replaceAll(/package="[^"]*"/, "")
+                                manifestFile.write(manifestContent)
+                                println "Removed 'package' attribute from ${manifestFile}"
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    // Fuerza Java 17 en proyectos Android
+    project.plugins.withId("com.android.application") {
+        project.android {
+            compileOptions {
+                sourceCompatibility JavaVersion.VERSION_17
+                targetCompatibility JavaVersion.VERSION_17
+            }
+        }
+    }
+
+    project.plugins.withId("com.android.library") {
+        project.android {
+            compileOptions {
+                sourceCompatibility JavaVersion.VERSION_17
+                targetCompatibility JavaVersion.VERSION_17
+            }
+        }
+    }
+
+    // Fuerza Kotlin JVM target a 17
+    project.plugins.withId("org.jetbrains.kotlin.jvm") {
+        project.tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
+            kotlinOptions {
+                jvmTarget = "17"
+            }
+        }
+    }
+
+    project.plugins.withId("org.jetbrains.kotlin.android") {
+        project.tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
+            kotlinOptions {
+                jvmTarget = "17"
+            }
+        }
+    }
+
+    // Fuerza Java para proyectos con plugin 'java'
+    project.plugins.withId("java") {
+        java {
+            toolchain {
+                languageVersion = JavaLanguageVersion.of(17)
+            }
+        }
+    }
+
+    // Fuerza nivel de compatibilidad en tareas Java
+    project.tasks.withType(JavaCompile).configureEach {
+        sourceCompatibility = JavaVersion.VERSION_17
+        targetCompatibility = JavaVersion.VERSION_17
+    }
 }
+
 subprojects {
     project.evaluationDependsOn(':app')
 }

+ 3 - 1
android/gradle.properties

@@ -1,3 +1,5 @@
-org.gradle.jvmargs=-Xmx4G
+org.gradle.jvmargs=-Xmx4g -Dfile.encoding=UTF-8
 android.useAndroidX=true
 android.enableJetifier=true
+org.gradle.java.installations.auto-download=true
+org.gradle.java.installations.auto-detect=true

+ 1 - 1
android/gradle/wrapper/gradle-wrapper.properties

@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-bin.zip

+ 1 - 0
android/settings.gradle

@@ -18,6 +18,7 @@ pluginManagement {
 
     plugins {
         id "dev.flutter.flutter-gradle-plugin" version "1.0.0" apply false
+        id 'org.gradle.toolchains.foojay-resolver-convention' version '0.5.0'
     }
 }
 

Разница между файлами не показана из-за своего большого размера
+ 308 - 236
pubspec.lock


+ 9 - 9
pubspec.yaml

@@ -19,7 +19,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
 version: 1.0.0+1
 
 environment:
-  sdk: '>=3.2.3 <4.0.0'
+  sdk: '>=3.5.0 <4.0.0'
 
 # Dependencies specify other packages that your package needs in order to work.
 # To automatically upgrade your package dependencies to the latest versions
@@ -37,18 +37,16 @@ dependencies:
   cupertino_icons: ^1.0.2
   shared_preferences: ^2.2.2
   http: ^1.2.0
-  flutter_sound: ^9.2.13
-  assets_audio_player: ^3.1.1
   permission_handler: ^11.3.0
   path_provider: ^2.1.2
-  camera: ^0.11.0+2
+  camera: ^0.10.5+9
   universal_html: ^2.2.4
-  dropdown_search: ^6.0.1
-  intl: ^0.20.1
-  omni_datetime_picker: ^2.0.4
+  dropdown_search: ^5.0.6
+  intl: ^0.19.0
+  omni_datetime_picker: ^1.0.9
   datetime_picker_formfield: ^2.0.1
   url_launcher: ^6.2.5
-  timezone: ^0.10.0
+  timezone: ^0.9.2
   provider: ^6.1.2
   image: ^4.1.7
   file_picker: ^8.0.0+1
@@ -64,11 +62,13 @@ dependencies:
   file_picker_writable: ^2.1.0+1
   bcrypt: ^1.1.3
   otp: ^3.1.3
+  flutter_single_instance: ^0.0.1
+  uuid: ^4.5.1
 
 dev_dependencies:
   flutter_test:
     sdk: flutter
-  flutter_launcher_icons: ^0.14.1
+  flutter_launcher_icons: "^0.13.1"
 
 flutter_launcher_icons:
     android: "launcher_icon"