记录下flutter开发中碰到的问题。
一、 iOS
自从项目增加了flutter模块后,每次打包就成了噩梦,有时半响有时一天都是莫名其妙的过错。碰到最多的仍是module 'Flutter' not found
。
今日又看到了一个新报错
Build service could not create build operation: unknown error while handling message: MsgHandlingError(message: "unable to initiate PIF transfer session (operation in progress?)")
实在是处理不完,仍是重启
吧。(重启能处理99%的问题)
记录下现在的处理流程,有更好的办法,请留言告知。
1. 整理
(1)shift + command + k 整理项目。
(2)删去Derived Data文件夹(整理Xcode的缓存)
(3)移除Build Phase关于Pods的装备。
删去后的装备,就剩下project的源文件、图片资源和第三方库。
(4)删去Pods文件夹,Podfile.lock和workspace。
(5)关闭Xcode。
2. 更新pub
(1)清空
到flutter的目录下,履行flutter clean
。
此操作会删去目录下的.ios
和.android
及.flutter*
等文件。
(2)重建
履行flutter pub get
重建flutter module。
3. 装置Xcode依靠
到项目文件夹中履行pod install
,履行会将刚刚清除的Pods文件夹重新装置。
假如报错,能够看看Flutter3.3打包iOS填坑记录 – ()需要修改下podhelper.rb。
4. 编译项目
一切都现已整理并重装完成了。打开workspace,等待index的检索完成。开端build
。
Maybe 仍是会看到 module 'Flutter' not found
. 灰心丧气。
(1)此时到Podfile
文件中,将install_all_flutter_pods(flutter_application_path)
注释,然后履行pod install
再次整理flutter相关的依靠。
(2)再次pod install
装置依靠。
(3)等index完毕后,build项目。
(4)假如仍是报错,那么重复(1)直到成功停止。。
此计划办法是最笨的办法,有好办法,请给我留言。
二、Android
Android Studio晋级到最新版本Android Studio Flamingo | 2022.2.1
后,推荐Gradle晋级到8.0. 碰到报错
Caused by: org.gradle.api.GradleException: 'compileDebugJavaWithJavac' task (current target is 1.8) and 'compileDebugKotlin' task (current target is 17) jvm target compatibility should be set to the same Java version.
由于第三方库"mobile_scanner"
使用的java 1.8,而AS默认现已是Java 17了。作为退让,现在的处理办法为
classpath 'com.android.tools.build:gradle:8.0.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.22"
Gradle plugin从之前的1.8.20版本回退到1.7.22来处理这个问题。
现已给"mobile_scanner"
留言,晋级一下,与时俱进。
AGP的晋级是抛弃了,再等等吧。 实在是处理不完过错啊。
Tips
- CocoaPods 晋级到 1.12.1处理iOS的一个编译问题building file list … rsync。
- mobile_scanner 在iOS的扫码功率仍是用iOS原生高。增加一个
AVCaptureMetadataOutputObjectsDelegate
来回来内容。