flutter问题处理小记

同样一个Flutter程序,在公司电脑可以正常编译,在随身的笔记本和家里的电脑编译一直有问题,因为赶项目,周末不得不往返一个多小时到公司加班,昨天加班效率不错,今天抽出时间,好好整理一下处理思路

笔记本是双系统,Windows和Mac下编译时一直报一个错误,在Windows系统中显示是一串乱码加一个数字17,尝试了网上找到的所有修改输出字符集的方式,一直还是乱码,切换到苹果系统下编译,终于看到了错误信息:

无效的目标发行版 17

从日志上可以看到,是引用的一个组件依赖引用了mobile_scanner,而mobile_scanner-3.5.6版本要求使用JDK17进行编译,build.gradle信息如下:

compileOptions {

sourceCompatibility JavaVersion.VERSION_17

targetCompatibility JavaVersion.VERSION_17

}

但主应用默认使用的JDK1.8,build.gradle信息如下

复制代码
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

尝试在本机安装JDK17,再次编译,还是报无效的目标发行版 的异常,随即把mobile_scanner中build.gradle中的编译信息改为

compileOptions {

sourceCompatibility JavaVersion.VERSION_1_8

targetCompatibility JavaVersion.VERSION_1_8

}

kotlinOptions {

jvmTarget = '1.8'

}

再次进行编译,正常通过

笔记本是双系统,Mac的很快就编译好了,测试能正常编译和发布应用

Windows系统下又出现一个问题,就是gradle插件下载不了的情况,以前出现这种情况都是直接手工下载,再手工将gradle-wrapper.properties文件中的

复制代码
distributionUrl=本地下载的插件文件

以前每次都能通过,今天笔记本的Windows怎么也通不过,又找了不少资料,后看到一篇贴子写的方法,退出Android studio,删除.dart_tool和.idea文件夹,再重新打开Android studio,果然对到症了,后续编译非常顺利

家里的台式电脑,还出现了一个问题,提示could not resolve all files for configuration

报错的是Android sdk 33的android.jar,到目录中去找这个文件,发现没有,于是通过SDK Manager删除再重新添加SDK 33,添加后OK

3个环境都调好了,心情舒畅了很多

长沙几天前就预警今明两天的暴雪,家里的小朋友们一早起来就很失望,家里玩雪的工具都备齐了现在到晚上九点了还没雪的影子,期待明早起来白茫茫的一片

相关推荐
安好说AI11 小时前
Flutter 三方库 adaptive_image_picker 的鸿蒙化适配指南:零权限选图、纯 Dart 裁剪与目标大小压缩
flutter·harmonyos
恋猫de小郭13 小时前
Dart Skills CLI 1.0 :AI 时代的 Dart 交付支持
android·前端·flutter
97650333516 小时前
iOS 上架/审核 4.3a全面解读-最新
flutter·ios·objective-c·uniapp
2501_9151063216 小时前
Flutter iOS混淆打包详细教程与步骤
android·flutter·ios·小程序·uni-app·iphone·webview
lqj_本人17 小时前
Flutter 鸿蒙实战:用 wakelock_plus 三方库给阅读页加上屏幕常亮
flutter·华为·harmonyos
熊猫钓鱼>_>1 天前
Flutter app_settings 鸿蒙适配实战:Intent 体系到 Want 的跨越
flutter·华为·harmonyos·openharmony·intent·want
里欧跑得慢1 天前
Flutter主题与样式详解
前端·css·flutter·web
程序员老刘1 天前
现在回头看,Dart取消宏是无比正确的决定
flutter·ai编程·dart
莫道桑榆晚hh1 天前
Flutter 双端开发实战:一套代码搞定 iOS + Android,从开发到上架全流程
flutter
Zeaon1 天前
别再手写筛选栏了:一个可组合的 Flutter 选择组件(5 入口 × 7 委托)
android·flutter