Flutter 构建环境踩坑记录 环境信息项目值操作系统Linux x86_64Flutter 版本3.44.9 stable2026-08-05 发布JDK21.0.11Android SDK编译目标 36构建工具 36.0.0Gradle9.3.1数据目录/mnt/shared/mybilibili/mybilibili-app-flutter问题清单1. Flutter 引擎 Maven 包找不到现象构建报错Could not find io.flutter:arm64_v8a_debug:1.0.0-5a2a6a42...搜索 Google Maven、Maven Central、华为云镜像均返回 404。原因Flutter 3.44.9 引擎版本太新仅发布 2 周国内镜像未同步完成。搜索路径与结果镜像源结果Google Maven不包含 flutter 引擎Maven Central不包含华为云镜像404未同步新版腾讯云镜像200版本存在解决切换到腾讯云镜像该版本已同步响应时间 0.1-1s。bashexport FLUTTER_STORAGE_BASE_URLhttps://mirrors.cloud.tencent.com/flutter2. Dart Pub 包下载失败现象flutter pub get报version solving failed或authorization failed。原因PUB_HOSTED_URL原指向清华镜像新版flutter_lints等包不存在或需要认证。解决改用 pub.dev 官方源。bashexport PUB_HOSTED_URLhttps://pub.dev3. media_kit mpv jar 下载超时现象Gradle 构建时下载 GitHub Release 上的 4 个 jar 文件连接超时。原因网络限制导致下载缓慢30 秒仅能下载 3MB总需 5.7MB。解决手动下载全部 4 个 jar校验 MD5 后放入构建缓存目录bash# 缓存目录.../build/media_kit_libs_android_video/v1.1.7/ # 4 个文件及 MD5 # default-arm64-v8a.jar 83df25b61193af8fa815e373143ac9af # default-armeabi-v7a.jar 22e21526fefc0a2b8f17adbec9f57590 # default-x86_64.jar 6fa26bf0459b11f1c0b0dbc29e5b940d # default-x86.jar 0d742b756dc9d1fcd84ea271d8b68f324. Kotlin/JVM 目标版本冲突现象Inconsistent JVM Target Compatibility Between Java and Kotlin Tasksgradle 报compileDebugJavaWithJavac (11)与compileDebugKotlin (1.8)不匹配。原因volume_controller和screen_brightness_android两个插件使用 Kotlin 1.7.21、设置jvmTarget 1.8JDK 21 默认 Java 目标为 11Kotlin 2.x 编译器要求两者一致。解决直接修改 pub-cache 中插件的 build.gradle 文件diff# volume_controller-2.0.8/android/build.gradle - compileSdkVersion 31 compileSdkVersion 36 - kotlinOptions { jvmTarget 1.8 } kotlinOptions { jvmTarget 17 } compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } # screen_brightness_android-0.1.02/android/build.gradle - compileSdkVersion 31 compileSdkVersion 36 - compileOptions { sourceCompatibility VERSION_1_8; targetCompatibility VERSION_1_8 } compileOptions { sourceCompatibility VERSION_17; targetCompatibility VERSION_17 } - kotlinOptions { jvmTarget 1.8 } kotlinOptions { jvmTarget 17 }5. 插件 compileSdk 版本过旧现象22 issues were found when checking AAR metadata插件编译目标为 31依赖要求 36。涉及的插件插件旧值新值media_kit_video3136volume_controller3136screen_brightness_android3136解决将每个插件的compileSdkVersion 31改为compileSdkVersion 36。6. Release 版缺少 INTERNET 权限现象App 启动后报SocketException: Operation not permitted, errno 1连接后端失败。原因Flutter 仅在 debug 版自动添加INTERNET权限release 版需在AndroidManifest.xml中显式声明。解决在主 manifest 中添加xmlmanifest xmlns:androidhttp://schemas.android.com/apk/res/android uses-permission android:nameandroid.permission.INTERNET/ application ...7. API 地址指向 localhost容器内不通现象App 连接localhost:8080容器内指向自身而非宿主机。原因App 硬编码了http://localhost:8080/api/v1在容器内 localhost 指向 Android 容器本身。解决改为宿主机内网 IP文件行旧值新值lib/core/api/client.dart:7baseUrlhttp://localhost:8080http://192.168.31.204:8080lib/core/api/live_api.dart:42streamUrlhttp://localhost:8080http://192.168.31.204:80808. Waydroid 平板样式现象Waydroid 显示为平板布局1024x568密度 180。原因默认分辨率为 1024x568密度 180dpi最小宽度 505dpAndroid 呈现平板 UI。解决临时覆盖重启后失效bashadb shell wm size 1080x1920 adb shell wm density 420持久化编辑/var/lib/waydroid/waydroid.cfg在[properties]段添加ini[properties] ro.sf.lcd_density 420最终环境配置永久环境变量~/.bashrcbashexport FLUTTER_STORAGE_BASE_URLhttps://mirrors.cloud.tencent.com/flutter export PUB_HOSTED_URLhttps://pub.dev编译命令bash# Debug 全架构192MB不适合发布 flutter build apk --debug # Release 按架构拆分推荐 flutter build apk --release --split-per-abi产物位置bash# Debug build/app/outputs/flutter-apk/app-debug.apk # 192MB # Release按架构拆分 build/app/outputs/flutter-apk/app-arm64-v8a-release.apk # 32MB build/app/outputs/flutter-apk/app-armeabi-v7a-release.apk # 29MB build/app/outputs/flutter-apk/app-x86_64-release.apk # 37MB后续维护注意事项flutter pub upgrade后pub-cache 重建需重新打volume_controller、screen_brightness_android、media_kit_video三个插件的补丁Flutter SDK 升级后先确认腾讯云镜像是否已有新版本——curl -I https://mirrors.cloud.tencent.com/flutter/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-新哈希/...pom宿主机 IP 变化需同步更新client.dart和live_api.dart中的 IP 地址flutter clean后media_kit 的 mpv jar 缓存被清需重新预下载或首次构建时多等待 3 分钟Waydroid 重启后若未持久化分辨率/密度需重新执行adb shell wm size 1080x1920 wm density 420

相关新闻

最新新闻

Zynq PL通过AXI读写PS端DDR完整工程:从架构到调试

Zynq PL通过AXI读写PS端DDR完整工程:从架构到调试

简介:Zynq平台中,PL通过AXI总线读写PS端DDR是不可回避的实战技能。项目完整覆盖AXI4-Lite协议交互、DDR控制器搭建、地址映射、跨时钟域同步以及非DMA模式下的读写验证,适合需要掌握PS-PL高效数据交互的FPGA工程师和嵌入式学习者。资源以RAR格…

2026/9/2 1:12:48
无人机射频检测实战:从SDR信号采集到MATLAB/Python双语言识别

无人机射频检测实战:从SDR信号采集到MATLAB/Python双语言识别

简介:这是一套面向无人机安防与低空监管场景的MATLAB/Python代码库,聚焦通过射频信号实现无人机检测与识别,适合无线信号处理、机器学习方向的研究者和开发者直接参考或复用。资源压缩包共18个文件,大小仅1.85MB,核心包…

2026/9/2 1:12:48
STM32+TMC5160步进电机堵转检测与精准定位实战

STM32+TMC5160步进电机堵转检测与精准定位实战

简介:这套基于STM32F1与TMC5160的SPI步进电机控制例程,面向嵌入式开发者与电机控制爱好者,解决堵转检测与高精度定位的实际工程问题。工程基于标准HAL库,完整实现了SPI驱动TMC5160、stallGuard堵转检测、目标位置精确定位、速度闭…

2026/9/2 1:12:48
SODICK慢走丝操作面板模拟器开发全解析:从需求到实现

SODICK慢走丝操作面板模拟器开发全解析:从需求到实现

简介:SODICK沙迪克慢走丝操作面板模拟器是一款面向慢走丝线切割机床操作员与模具加工从业者的仿真练习工具,旨在通过真实面板模拟帮助用户熟悉机床启动、停止、穿丝以及参数设定、路径预览等操作流程,降低实操门槛。软件包共包含2000个文件&a…

2026/9/2 1:12:48
降aigc率优化路径与落地方法全解析

降aigc率优化路径与落地方法全解析

很多研究生写文献综述时,最大的问题不是找不到论文,而是找到了很多论文,却不知道怎么分类、比较和提炼研究空白。现在,AI 可以帮助完成检索、阅读、笔记整理和代码分析,但不同工具适合的任务并不一样。合理分工&#x…

2026/9/2 1:12:48
Visual Studio 2022安装配置与高效插件实战指南

Visual Studio 2022安装配置与高效插件实战指南

简介:一份以VS2022安装与插件配置为主题的轻量代码包,主要面向刚接触Visual Studio的C/C初学者,也适合希望规范开发环境的进阶用户。压缩包内共3个文件,包含1个inscode工程入口、1个html说明页面与1个gitignore配置文件&#xff0…

2026/9/2 1:07:47