liuyuqi-cnb 1 week ago
parent
commit
1887d493bf

+ 1 - 0
.fvm/flutter_sdk

@@ -0,0 +1 @@
+/root/fvm/versions/3.44.9

+ 3 - 0
.fvm/fvm_config.json

@@ -0,0 +1,3 @@
+{
+  "flutterSdkVersion": "3.44.9"
+}

+ 1 - 0
.fvm/release

@@ -0,0 +1 @@
+3.44.9

+ 1 - 0
.fvm/version

@@ -0,0 +1 @@
+3.29.0

+ 1 - 0
.fvm/versions/3.44.9

@@ -0,0 +1 @@
+/root/fvm/versions/3.44.9

+ 15 - 15
.metadata

@@ -4,7 +4,7 @@
 # This file should be version controlled and should not be manually edited.
 # This file should be version controlled and should not be manually edited.
 
 
 version:
 version:
-  revision: "12fccda598477eddd19f93040a1dba24f915b9be"
+  revision: "35c388afb57ef061d06a39b537336c87e0e3d1b1"
   channel: "[user-branch]"
   channel: "[user-branch]"
 
 
 project_type: app
 project_type: app
@@ -13,26 +13,26 @@ project_type: app
 migration:
 migration:
   platforms:
   platforms:
     - platform: root
     - platform: root
-      create_revision: 12fccda598477eddd19f93040a1dba24f915b9be
-      base_revision: 12fccda598477eddd19f93040a1dba24f915b9be
+      create_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1
+      base_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1
     - platform: android
     - platform: android
-      create_revision: 12fccda598477eddd19f93040a1dba24f915b9be
-      base_revision: 12fccda598477eddd19f93040a1dba24f915b9be
+      create_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1
+      base_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1
     - platform: ios
     - platform: ios
-      create_revision: 12fccda598477eddd19f93040a1dba24f915b9be
-      base_revision: 12fccda598477eddd19f93040a1dba24f915b9be
+      create_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1
+      base_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1
     - platform: linux
     - platform: linux
-      create_revision: 12fccda598477eddd19f93040a1dba24f915b9be
-      base_revision: 12fccda598477eddd19f93040a1dba24f915b9be
+      create_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1
+      base_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1
     - platform: macos
     - platform: macos
-      create_revision: 12fccda598477eddd19f93040a1dba24f915b9be
-      base_revision: 12fccda598477eddd19f93040a1dba24f915b9be
+      create_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1
+      base_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1
     - platform: web
     - platform: web
-      create_revision: 12fccda598477eddd19f93040a1dba24f915b9be
-      base_revision: 12fccda598477eddd19f93040a1dba24f915b9be
+      create_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1
+      base_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1
     - platform: windows
     - platform: windows
-      create_revision: 12fccda598477eddd19f93040a1dba24f915b9be
-      base_revision: 12fccda598477eddd19f93040a1dba24f915b9be
+      create_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1
+      base_revision: 35c388afb57ef061d06a39b537336c87e0e3d1b1
 
 
   # User provided section
   # User provided section
 
 

+ 3 - 0
.vscode/settings.json

@@ -0,0 +1,3 @@
+{
+  "dart.flutterSdkPath": ".fvm/versions/3.44.9"
+}

+ 2 - 1
android/.gitignore

@@ -5,9 +5,10 @@ gradle-wrapper.jar
 /gradlew.bat
 /gradlew.bat
 /local.properties
 /local.properties
 GeneratedPluginRegistrant.java
 GeneratedPluginRegistrant.java
+.cxx/
 
 
 # Remember to never publicly share your keystore.
 # Remember to never publicly share your keystore.
-# See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app
+# See https://flutter.dev/to/reference-keystore
 key.properties
 key.properties
 **/*.keystore
 **/*.keystore
 **/*.jks
 **/*.jks

+ 0 - 2
android/app/.gitignore

@@ -1,2 +0,0 @@
-# CMake / JNI 构建缓存
-.cxx/

+ 0 - 66
android/app/build.gradle

@@ -1,66 +0,0 @@
-plugins {
-    id "com.android.application"
-    id "kotlin-android"
-    id "dev.flutter.flutter-gradle-plugin"
-}
-
-def localProperties = new Properties()
-def localPropertiesFile = rootProject.file('local.properties')
-if (localPropertiesFile.exists()) {
-    localPropertiesFile.withReader('UTF-8') { reader ->
-        localProperties.load(reader)
-    }
-}
-
-def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
-if (flutterVersionCode == null) {
-    flutterVersionCode = '1'
-}
-
-def flutterVersionName = localProperties.getProperty('flutter.versionName')
-if (flutterVersionName == null) {
-    flutterVersionName = '1.0'
-}
-
-android {
-    namespace "io.github.jianboy.flutter.flutter_paydemo"
-    // stripe_android / url_launcher_android 等插件要求 SDK 35
-    compileSdkVersion 35
-    ndkVersion flutter.ndkVersion
-
-    compileOptions {
-        sourceCompatibility JavaVersion.VERSION_17
-        targetCompatibility JavaVersion.VERSION_17
-    }
-
-    kotlinOptions {
-        jvmTarget = '17'
-    }
-
-    buildFeatures {
-        viewBinding true
-    }
-
-    defaultConfig {
-        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
-        applicationId "io.github.jianboy.flutter.flutter_paydemo"
-        // You can update the following values to match your application needs.
-        // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
-        minSdkVersion flutter.minSdkVersion
-        targetSdkVersion 35
-        versionCode flutterVersionCode.toInteger()
-        versionName flutterVersionName
-    }
-
-    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.debug
-        }
-    }
-}
-
-flutter {
-    source '../..'
-}

+ 46 - 0
android/app/build.gradle.kts

@@ -0,0 +1,46 @@
+plugins {
+    id("com.android.application")
+    id("kotlin-android")
+    // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
+    id("dev.flutter.flutter-gradle-plugin")
+}
+
+android {
+    namespace = "io.github.jianboy.flutter_paydemo"
+    compileSdk = flutter.compileSdkVersion
+    ndkVersion = "27.0.12077973"
+
+    compileOptions {
+        sourceCompatibility = JavaVersion.VERSION_11
+        targetCompatibility = JavaVersion.VERSION_11
+    }
+
+    kotlinOptions {
+        jvmTarget = JavaVersion.VERSION_11.toString()
+    }
+
+    defaultConfig {
+        // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
+        applicationId = "io.github.jianboy.flutter_paydemo"
+        // You can update the following values to match your application needs.
+        // For more information, see: https://flutter.dev/to/review-gradle-config.
+        minSdk = flutter.minSdkVersion
+        targetSdk = flutter.targetSdkVersion
+        versionCode = flutter.versionCode
+        versionName = flutter.versionName
+        // alipay_kit_android 使用 vendor flavor dimension
+        missingDimensionStrategy("vendor", "vendor")
+    }
+
+    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")
+        }
+    }
+}
+
+flutter {
+    source = "../.."
+}

+ 12 - 2
android/app/src/main/AndroidManifest.xml

@@ -6,9 +6,7 @@
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
     <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
     <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
-
     
     
-
     <application
     <application
         android:label="flutter_paydemo"
         android:label="flutter_paydemo"
         android:name="${applicationName}"
         android:name="${applicationName}"
@@ -17,6 +15,7 @@
             android:name=".MainActivity"
             android:name=".MainActivity"
             android:exported="true"
             android:exported="true"
             android:launchMode="singleTop"
             android:launchMode="singleTop"
+            android:taskAffinity=""
             android:theme="@style/LaunchTheme"
             android:theme="@style/LaunchTheme"
             android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
             android:configChanges="orientation|keyboardHidden|keyboard|screenSize|smallestScreenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
             android:hardwareAccelerated="true"
             android:hardwareAccelerated="true"
@@ -40,4 +39,15 @@
             android:name="flutterEmbedding"
             android:name="flutterEmbedding"
             android:value="2" />
             android:value="2" />
     </application>
     </application>
+    <!-- Required to query activities that can process text, see:
+         https://developer.android.com/training/package-visibility and
+         https://developer.android.com/reference/android/content/Intent#ACTION_PROCESS_TEXT.
+
+         In particular, this is used by the Flutter engine in io.flutter.plugin.text.ProcessTextPlugin. -->
+    <queries>
+        <intent>
+            <action android:name="android.intent.action.PROCESS_TEXT"/>
+            <data android:mimeType="text/plain"/>
+        </intent>
+    </queries>
 </manifest>
 </manifest>

+ 0 - 6
android/app/src/main/java/io/github/jianboy/flutter/flutter_paydemo/MainActivity.java

@@ -1,6 +0,0 @@
-package io.github.jianboy.flutter.flutter_paydemo;
-
-import io.flutter.embedding.android.FlutterFragmentActivity;
-
-public class MainActivity extends FlutterFragmentActivity {
-}

+ 6 - 0
android/app/src/main/java/io/github/jianboy/flutter_paydemo/MainActivity.java

@@ -0,0 +1,6 @@
+package io.github.jianboy.flutter_paydemo;
+
+import io.flutter.embedding.android.FlutterActivity;
+
+public class MainActivity extends FlutterActivity {
+}

+ 0 - 47
android/build.gradle

@@ -1,47 +0,0 @@
-allprojects {
-    repositories {
-        google()
-        mavenCentral()
-    }
-}
-
-rootProject.buildDir = '../build'
-subprojects {
-    project.buildDir = "${rootProject.buildDir}/${project.name}"
-
-    // AGP 8 强制要求每个模块声明 namespace,但老式插件(如 alipay_kit_android 6.0.0)
-    // 未声明。这里在插件内部 afterEvaluate 创建 variant 之前,从 AndroidManifest 的
-    // package 属性自动补 namespace(AGP 8 标准 workaround)。
-    // 注意:必须放在 evaluationDependsOn(':app') 之前注册——否则子工程被提前求值,
-    // afterEvaluate 会抛 "project is already evaluated"。
-    afterEvaluate { proj ->
-        def isAndroid = proj.plugins.hasPlugin('com.android.library') ||
-                proj.plugins.hasPlugin('com.android.application')
-        if (!isAndroid) return
-        def androidExt = proj.extensions.findByName('android')
-        if (androidExt == null) return
-        // namespace 已显式声明时无需处理
-        if (androidExt.hasProperty('namespace') &&
-                androidExt.namespace != null && !androidExt.namespace.isEmpty()) return
-
-        def manifestFile = proj.file('src/main/AndroidManifest.xml')
-        if (!manifestFile.exists()) return
-        try {
-            def manifest = new XmlSlurper().parse(manifestFile)
-            def pkg = manifest.@package.text()
-            if (pkg) {
-                androidExt.namespace = pkg
-                println "Auto namespace for ${proj.name}: ${pkg}"
-            }
-        } catch (Exception ignore) {
-            // manifest 解析失败时保持默认,让 AGP 继续报错提示
-        }
-    }
-}
-subprojects {
-    project.evaluationDependsOn(':app')
-}
-
-tasks.register("clean", Delete) {
-    delete rootProject.buildDir
-}

+ 21 - 0
android/build.gradle.kts

@@ -0,0 +1,21 @@
+allprojects {
+    repositories {
+        google()
+        mavenCentral()
+    }
+}
+
+val newBuildDir: Directory = rootProject.layout.buildDirectory.dir("../../build").get()
+rootProject.layout.buildDirectory.value(newBuildDir)
+
+subprojects {
+    val newSubprojectBuildDir: Directory = newBuildDir.dir(project.name)
+    project.layout.buildDirectory.value(newSubprojectBuildDir)
+}
+subprojects {
+    project.evaluationDependsOn(":app")
+}
+
+tasks.register<Delete>("clean") {
+    delete(rootProject.layout.buildDirectory)
+}

+ 5 - 3
android/gradle.properties

@@ -1,5 +1,7 @@
-org.gradle.jvmargs=-Xmx1536M
+org.gradle.jvmargs=-Xmx8G -XX:MaxMetaspaceSize=4G -XX:ReservedCodeCacheSize=512m -XX:+HeapDumpOnOutOfMemoryError
 android.useAndroidX=true
 android.useAndroidX=true
 android.enableJetifier=true
 android.enableJetifier=true
-# stripe_android 要求禁用 R8 full mode
-android.enableR8.fullMode=false
+# This builtInKotlin flag was added automatically by Flutter migrator
+android.builtInKotlin=false
+# This newDsl flag was added automatically by Flutter migrator
+android.newDsl=false

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

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

+ 0 - 48
android/settings.gradle

@@ -1,48 +0,0 @@
-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
-    }
-    settings.ext.flutterSdkPath = flutterSdkPath()
-
-    includeBuild("${settings.ext.flutterSdkPath}/packages/flutter_tools/gradle")
-
-    repositories {
-        // 国内镜像优先(本环境 Maven Central / Gradle 插件中心受限)
-        maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
-        maven { url 'https://maven.aliyun.com/repository/google' }
-        maven { url 'https://maven.aliyun.com/repository/central' }
-        google()
-        mavenCentral()
-        gradlePluginPortal()
-    }
-}
-
-plugins {
-    // Flutter 3.29 起必须用声明式 flutter-plugin-loader(替代命令式 app_plugin_loader)
-    id "dev.flutter.flutter-plugin-loader" version "1.0.0"
-    id "com.android.application" version "8.1.0" apply false
-    // Stripe Android SDK 21.x 以 Kotlin 2.1 编译,KGP 需 ≥2.1(1.8 读不了 2.1 的 metadata)
-    id "org.jetbrains.kotlin.android" version "2.1.0" apply false
-}
-
-dependencyResolutionManagement {
-    // 统一用 settings 声明的仓库(含 includeBuild 的 flutter_tools/gradle),镜像优先。
-    // PREFER_SETTINGS 模式下 project 级仓库(含 flutter.groovy 经 rootProject.allprojects 注入的
-    // download.flutter.io)会被忽略,故 flutter 引擎 embedding 仓库必须在此显式声明,
-    // 否则插件项目(如 alipay_kit_android)解析不到 io.flutter:flutter_embedding_*。
-    repositoriesMode = RepositoriesMode.PREFER_SETTINGS
-    repositories {
-        maven { url 'https://maven.aliyun.com/repository/google' }
-        maven { url 'https://maven.aliyun.com/repository/central' }
-        // Flutter 引擎/embedding 仓库(与 FLUTTER_STORAGE_BASE_URL 一致,本环境为国内镜像)
-        maven { url "${System.getenv('FLUTTER_STORAGE_BASE_URL') ?: 'https://storage.googleapis.com'}/download.flutter.io" }
-        google()
-        mavenCentral()
-    }
-}
-
-include ":app"

+ 25 - 0
android/settings.gradle.kts

@@ -0,0 +1,25 @@
+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.7.0" apply false
+    id("org.jetbrains.kotlin.android") version "1.8.22" apply false
+}
+
+include(":app")

+ 1 - 1
pubspec.yaml

@@ -25,7 +25,7 @@ dependencies:
   # 通用
   # 通用
   flutter_localizations:
   flutter_localizations:
     sdk: flutter
     sdk: flutter
-  intl: ^0.19.0
+  intl: ^0.20.2
   dio: ^5.7.0
   dio: ^5.7.0
   get: ^4.6.5
   get: ^4.6.5
   fluttertoast: ^8.2.14
   fluttertoast: ^8.2.14