Sfoglia il codice sorgente

Update 调整安卓构建文件

Yue 1 mese fa
parent
commit
e7596d3780

+ 15 - 3
UI/CF.APP/chicken_farm/android/app/build.gradle

@@ -21,6 +21,13 @@ android {
         }
     }
 
+    packagingOptions {
+        pickFirst '**/libsqlite3.so'
+        pickFirst '**/libsqlite3.arm.android.so'
+        pickFirst '**/libsqlite3.x64.android.so'
+        pickFirst '**/libsqlite3.arm64.android.so'
+        pickFirst '**/libflutter.so'
+    }
 
     defaultConfig {
         // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
@@ -39,10 +46,18 @@ android {
     }
 
     buildTypes {
+        debug {
+            minifyEnabled false
+            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+        }
         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
+
+             // 禁用代码压缩和混淆
+            minifyEnabled false
+            shrinkResources false
         }
     }
 
@@ -59,6 +74,3 @@ dependencies {
     implementation files('libs\\ScanManager_V202105081630.jar')
 }
 
-flutter {
-    source = "../.."
-}

+ 28 - 2
UI/CF.APP/chicken_farm/android/build.gradle

@@ -5,7 +5,6 @@ allprojects {
     }
 }
 
-// 注释掉自定义构建目录设置,避免不同磁盘间的路径冲突
 def newBuildDir = rootProject.layout.buildDirectory.dir("../../build").get()
 rootProject.layout.buildDirectory.set(newBuildDir)
 
@@ -14,10 +13,37 @@ subprojects {
     project.layout.buildDirectory.set(newSubprojectBuildDir)
 }
 
+
 subprojects {
     project.evaluationDependsOn(":app")
+
+    plugins.whenPluginAdded { plugin ->
+        // 修复点1:增加空安全判断 + 仅针对Android/Java插件(排除系统插件)
+        def pluginName = plugin.getClass().simpleName
+        if (pluginName in ['AndroidPlugin', 'JavaPlugin', 'JavaLibraryPlugin']) {
+            // 修复点2:仅在任务创建时拦截目标项目的UnitTest任务
+            tasks.whenTaskAdded { task ->
+                // 仅处理flutter_plugin_android_lifecycle项目,忽略其他插件(如audioplayers_android)
+                if (project.path == ':flutter_plugin_android_lifecycle') {
+                    // 精准禁用报错任务,避免波及其他插件
+                    def targetTasks = [
+                        'compileDebugUnitTestSources',
+                        'testDebugUnitTest',
+                        'compileReleaseUnitTestSources',
+                        'testReleaseUnitTest'
+                    ]
+                    if (targetTasks.contains(task.name)) {
+                        task.enabled = false
+                        println("Disabled task: ${task.name} for flutter_plugin_android_lifecycle (resolve path error)")
+                    }
+                }
+            }
+        }
+    }
 }
 
 tasks.register("clean", Delete) {
     delete rootProject.layout.buildDirectory
-}
+    delete project(":app").layout.buildDirectory
+}
+

+ 7 - 1
UI/CF.APP/chicken_farm/android/gradle.properties

@@ -4,4 +4,10 @@ android.enableJetifier=true
 // 添加这些配置以提高构建稳定性
 kotlin.incremental=false
 org.gradle.caching=false
-org.gradle.parallel=false
+org.gradle.parallel=false
+// 解决sqlite3库下载问题
+sqlite3_flutter_libs.use_system_sqlite=true
+sqlite3_flutter_libs.no_download=true
+// 解决Flutter hooks runner锁定问题
+FLUTTER_HOOKS_RUNNER_LOCK_TIMEOUT=60
+org.gradle.unsafe.configuration-cache=false