Browse Source

升级 Flutter 3.24.0

liukai 7 months ago
parent
commit
a8da192dc5

+ 10 - 7
app/android/app/build.gradle

@@ -1,3 +1,11 @@
+plugins {
+    id "com.android.application"
+    id "kotlin-android"
+    id "kotlin-kapt"
+    // 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')
 if (keystorePropertiesFile.exists()) {
@@ -20,11 +28,6 @@ if (flutterRoot == null) {
 // 模拟器运行报错时尝试开启此项
 // project.setProperty('target-platform', 'android-arm')
 
-apply plugin: 'com.android.application'
-apply plugin: 'kotlin-android'
-apply plugin: 'kotlin-kapt'
-apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
-
 android {
     compileSdkVersion 34
 
@@ -112,8 +115,8 @@ flutter {
 }
 
 dependencies {
-    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
-    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
+    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0"
+    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0"
 
     implementation 'com.github.bumptech.glide:glide:4.11.0'
     kapt 'com.github.bumptech.glide:compiler:4.11.0'

+ 2 - 30
app/android/build.gradle

@@ -1,44 +1,16 @@
-
-buildscript {
-    ext.kotlin_version = '1.8.0'
-    repositories {
-//        maven { url 'https://maven.aliyun.com/repository/public' }//jcenter
-//        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }//gradle-plugin
-//        maven { url 'https://maven.aliyun.com/repository/central' }//central
-//        maven { url 'https://maven.aliyun.com/repository/google' }//google
-//        maven { url 'https://maven.aliyun.com/repository/jcenter' }
-//        maven { url 'https://maven.aliyun.com/nexus/content/groups/public'}
-        google()
-        mavenCentral()
-        maven { url 'https://jitpack.io' }
-    }
-
-    dependencies {
-        classpath 'com.android.tools.build:gradle:7.1.2'
-        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
-    }
-}
-
 allprojects {
     repositories {
-//        maven { url 'https://maven.aliyun.com/repository/public' }
-//        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
-//        maven { url 'https://maven.aliyun.com/repository/central' }
-//        maven { url 'https://maven.aliyun.com/repository/google' }
-//        maven { url 'https://maven.aliyun.com/repository/jcenter' }
-//        maven { url 'https://maven.aliyun.com/nexus/content/groups/public'}
         google()
         mavenCentral()
-        maven { url 'https://jitpack.io' }
     }
 }
 
-rootProject.buildDir = '../build'
+rootProject.buildDir = "../build"
 subprojects {
     project.buildDir = "${rootProject.buildDir}/${project.name}"
 }
 subprojects {
-    project.evaluationDependsOn(':app')
+    project.evaluationDependsOn(":app")
 }
 
 tasks.register("clean", Delete) {

+ 2 - 2
app/android/gradle.properties

@@ -1,4 +1,4 @@
-org.gradle.jvmargs=-Xmx1536M
+org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError
 android.useAndroidX=true
 android.enableJetifier=true
-maven={ url 'https://maven.aliyun.com/repository/public' }
+maven={ url 'https://maven.aliyun.com/repository/public' }

+ 22 - 8
app/android/settings.gradle

@@ -1,11 +1,25 @@
-include ':app'
+pluginManagement {
+    def flutterSdkPath = {
+        def properties = new Properties()
+        file("local.properties").withInputStream { properties.load(it) }
+        def flutterSdkPath = properties.getProperty("flutter.sdk")
+        assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
+        return flutterSdkPath
+    }()
 
-def localPropertiesFile = new File(rootProject.projectDir, "local.properties")
-def properties = new Properties()
+    includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")
 
-assert localPropertiesFile.exists()
-localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) }
+    repositories {
+        google()
+        mavenCentral()
+        gradlePluginPortal()
+    }
+}
 
-def flutterSdkPath = properties.getProperty("flutter.sdk")
-assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
-apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle"
+plugins {
+    id "dev.flutter.flutter-plugin-loader" version "1.0.0"
+    id "com.android.application" version "7.1.2" apply false
+    id "org.jetbrains.kotlin.android" version "1.8.0" apply false
+}
+
+include ":app"

+ 25 - 3
packages/cpt_auth/lib/modules/login/login_page.dart

@@ -1,3 +1,5 @@
+// ignore_for_file: slash_for_doc_comments
+
 import 'package:cs_resources/constants/color_constants.dart';
 import 'package:cs_resources/generated/assets.dart';
 import 'package:flutter/cupertino.dart';
@@ -40,7 +42,7 @@ class LoginPage extends BaseStatefulPage<LoginController> {
   }
 
   @override
-  State<LoginPage> createState() => _MainPageState();
+  State<LoginPage> createState() => _LoginPageState();
 
   @override
   LoginController createRawController() {
@@ -51,7 +53,7 @@ class LoginPage extends BaseStatefulPage<LoginController> {
 /**
  * 页面
  */
-class _MainPageState extends BaseState<LoginPage, LoginController> with StateLifecycle {
+class _LoginPageState extends BaseState<LoginPage, LoginController> with StateLifecycle {
   late LoginState state;
 
   @override
@@ -107,7 +109,7 @@ class _MainPageState extends BaseState<LoginPage, LoginController> with StateLif
                           fontSize: 15,
                         );
                       }),
-                      MyAssetImage(
+                      const MyAssetImage(
                         Assets.baseServiceTriangleDropDown,
                         width: 8,
                         height: 5,
@@ -257,6 +259,26 @@ class _MainPageState extends BaseState<LoginPage, LoginController> with StateLif
     );
   }
 
+  @override
+  void onStart() {
+    Log.d("LoginPage Lifecycle - onStart");
+  }
+
+  @override
+  void onStop() {
+    Log.d("LoginPage Lifecycle - onStop");
+  }
+
+  @override
+  void onResume() {
+    Log.d("LoginPage Lifecycle - onResume");
+  }
+
+  @override
+  void onPause() {
+    Log.d("LoginPage Lifecycle - onPause");
+  }
+
   //底部的注册文本
   Widget _buildRichText() {
     return Align(

+ 3 - 0
packages/cpt_job/lib/modules/sign_in_sign_out/sign_in_sign_out_page.dart

@@ -1,7 +1,10 @@
+import 'dart:ui';
+
 import 'package:cs_resources/constants/color_constants.dart';
 import 'package:cs_resources/generated/assets.dart';
 import 'package:flutter/cupertino.dart';
 import 'package:flutter/material.dart';
+import 'package:flutter/src/services/predictive_back_event.dart';
 import 'package:flutter/widgets.dart';
 import 'package:get/get.dart';
 import 'package:plugin_basic/base/base_stateful_page.dart';

+ 1 - 1
packages/cs_domain/pubspec.yaml

@@ -15,7 +15,7 @@ dependencies:
     sdk: flutter
 
   # Flutter 架构框架 https://github.com/jonataslaw/getx
-  get: 4.6.5
+  get: 4.6.6
 
   # json 序列化和反序列化
   json_annotation: ^4.8.0

+ 22 - 1
packages/cs_plugin_basic/lib/base/mixin_state_lifecycle.dart

@@ -1,13 +1,14 @@
 import 'dart:ui';
 
 import 'package:flutter/material.dart';
+import 'package:flutter/services.dart';
 import 'package:router/observer/getx_router_observer.dart';
+import 'package:shared/utils/log_utils.dart';
 
 /*
  * StatefulWidget 的生命周期实现基于原生实现
  */
 mixin StateLifecycle<T extends StatefulWidget> on State<T> implements RouteAware, WidgetsBindingObserver, IStateLifecycle {
-
   @override
   void initState() {
     super.initState();
@@ -99,6 +100,26 @@ mixin StateLifecycle<T extends StatefulWidget> on State<T> implements RouteAware
     return AppExitResponse.exit;
   }
 
+  // 3.24.0 新加的回调
+  @override
+  void didChangeViewFocus(ViewFocusEvent event) {}
+
+  @override
+  void handleCancelBackGesture() {}
+
+  @override
+  void handleCommitBackGesture() {}
+
+  @override
+  bool handleStartBackGesture(PredictiveBackEvent backEvent) {
+    return false;
+  }
+
+  @override
+  void handleUpdateBackGestureProgress(PredictiveBackEvent backEvent) {}
+
+  // ==============  自定义实现  ============
+
   @override
   void onStart() {}
 

+ 3 - 3
packages/cs_plugin_basic/pubspec.yaml

@@ -35,17 +35,17 @@ dependencies:
     path: ../cs_plugin_platform
 
   # Flutter 架构框架 https://github.com/jonataslaw/getx
-  get: 4.6.5
+  get: 4.6.6
 
   # package_info 应用相关信息
-  package_info_plus: 4.1.0
+  package_info_plus: 8.0.2
 
   # 获取当前设备信息 https://github.com/fluttercommunity/plus_plugins/tree/main/packages/device_info_plus
   device_info_plus: 10.0.1
 
   # 跳转应用处理 https://github.com/flutter/plugins/tree/master_archive/packages/url_launcher/url_launcher
   # 例如:拨打电话,发送短信,发送邮件,跳转Whatsapp,打开本地文件等操作
-  url_launcher: 6.1.10
+  url_launcher: 6.3.0
 
   #  分享 https://plus.fluttercommunity.dev/docs/share_plus/usage
   share_plus: 7.1.0

+ 7 - 4
packages/cs_plugin_platform/pubspec.yaml

@@ -26,13 +26,13 @@ dependencies:
     path: ../cs_resources
 
   # Flutter 架构框架 https://github.com/jonataslaw/getx
-  get: 4.6.5
+  get: 4.6.6
 
   # https://pub.dev/packages/dio 网络请求框架
   dio: 5.3.3
 
   #处理权限
-  permission_handler: ^8.3.0
+  permission_handler: 11.3.1
 
   # 图片选择  https://github.com/fluttercandies/flutter_wechat_assets_picker/blob/main/README-ZH.md
 #  wechat_assets_picker: 9.0.2
@@ -58,12 +58,15 @@ dependencies:
   flutter_smart_dialog: ^4.9.6
 
   # SD卡管理,缓存管理
-  path_provider: 2.1.2
+  path_provider: 2.1.4
   synchronized: ^3.1.0+1
 
   # Flutter 常用工具类库 https://github.com/Sky24n/flustars
   # SP-KV存储,一般存储基本数据类型,由各平台各自实现
-  shared_preferences: ^2.2.2
+  shared_preferences: 2.3.1
+
+  # 5.5.0 报错,这里强制指定版本适配 Flutter 版本 3.24.0
+  win32: 5.5.4
 
 flutter:
   uses-material-design: true

+ 2 - 70
packages/cs_resources/lib/local/theme/theme_config.dart

@@ -22,14 +22,12 @@ class ThemeConfig {
     final baseTextTheme = brightness == Brightness.dark ? Typography.blackMountainView : Typography.whiteMountainView;
 
     return ThemeData(
+      primaryColor: accentColor,
       brightness: brightness,
       canvasColor: background,
       cardColor: background,
       dividerColor: divider,
-      backgroundColor: background,
-      primaryColor: accentColor,
-      toggleableActiveColor: accentColor,
-      errorColor: error,
+      scaffoldBackgroundColor: background,
       unselectedWidgetColor: hexToColor('#DADCDD'),
       dividerTheme: DividerThemeData(
         color: divider,
@@ -95,72 +93,6 @@ class ThemeConfig {
           fontWeight: FontWeight.w300,
         ),
       ),
-      textTheme: TextTheme(
-        headline1: baseTextTheme.headline1!.copyWith(
-          color: primaryText,
-          fontSize: 34.0,
-          fontWeight: FontWeight.bold,
-        ),
-        headline2: baseTextTheme.headline2!.copyWith(
-          color: primaryText,
-          fontSize: 22,
-          fontWeight: FontWeight.bold,
-        ),
-        headline3: baseTextTheme.headline3!.copyWith(
-          color: secondaryText,
-          fontSize: 20,
-          fontWeight: FontWeight.w600,
-        ),
-        headline4: baseTextTheme.headline4!.copyWith(
-          color: primaryText,
-          fontSize: 18,
-          fontWeight: FontWeight.w600,
-        ),
-        headline5: baseTextTheme.headline5!.copyWith(
-          color: primaryText,
-          fontSize: 16,
-          fontWeight: FontWeight.w700,
-        ),
-        headline6: baseTextTheme.headline6!.copyWith(
-          color: primaryText,
-          fontSize: 14,
-          fontWeight: FontWeight.w700,
-        ),
-        bodyText1: baseTextTheme.bodyText1!.copyWith(
-          color: secondaryText,
-          fontSize: 15,
-        ),
-        bodyText2: baseTextTheme.bodyText2!.copyWith(
-          color: primaryText,
-          fontSize: 12,
-          fontWeight: FontWeight.w400,
-        ),
-        button: baseTextTheme.button!.copyWith(
-          color: primaryText,
-          fontSize: 12.0,
-          fontWeight: FontWeight.w700,
-        ),
-        caption: baseTextTheme.caption!.copyWith(
-          color: primaryText,
-          fontSize: 11.0,
-          fontWeight: FontWeight.w300,
-        ),
-        overline: baseTextTheme.overline!.copyWith(
-          color: secondaryText,
-          fontSize: 11.0,
-          fontWeight: FontWeight.w500,
-        ),
-        subtitle1: baseTextTheme.subtitle1!.copyWith(
-          color: primaryText,
-          fontSize: 16.0,
-          fontWeight: FontWeight.w700,
-        ),
-        subtitle2: baseTextTheme.subtitle2!.copyWith(
-          color: secondaryText,
-          fontSize: 11.0,
-          fontWeight: FontWeight.w500,
-        ),
-      ),
     );
   }
 

+ 1 - 1
packages/cs_resources/pubspec.yaml

@@ -15,7 +15,7 @@ dependencies:
     sdk: flutter
 
   # Flutter 架构框架 https://github.com/jonataslaw/getx
-  get: 4.6.5
+  get: 4.6.6
 
 flutter:
   uses-material-design: true

+ 1 - 1
packages/cs_router/pubspec.yaml

@@ -17,7 +17,7 @@ dependencies:
   cupertino_icons: ^1.0.2
 
   # Flutter 架构框架 https://github.com/jonataslaw/getx
-  get: 4.6.5
+  get: 4.6.6
 
 flutter:
   uses-material-design: true

+ 1 - 1
packages/cs_shared/pubspec.yaml

@@ -17,7 +17,7 @@ dependencies:
   cupertino_icons: ^1.0.2
 
   # Flutter 架构框架 https://github.com/jonataslaw/getx
-  get: 4.6.5
+  get: 4.6.6
 
   # 加密的一些插件,无需暴露
   crypto: ^3.0.3

+ 1 - 1
packages/cs_widgets/pubspec.yaml

@@ -25,7 +25,7 @@ dependencies:
     path: ../cs_shared
 
   # Flutter 架构框架 https://github.com/jonataslaw/getx
-  get: 4.6.5
+  get: 4.6.6
 
   # WebView插件 https://github.com/flutter/plugins/tree/master/packages/webview_flutter
   webview_flutter: ^3.0.4