Flutter 碰到的各种坑 持续更新

Android转flutter 也有1年多了 ,在新公司将一个产品用flutter从零开始开发, 感觉flutter 还是不太稳定,各种问题还是比较多 ,总之这次体验还是比较差。。

Error on line 21, column 5 of pubspec.yaml: A dependency may only have one source.

当时是pubspec.yaml文件添加库的时候  不能把代码跟sdk对齐,应该是 跟sdk对齐会被认为是跟他一个节点?

使用lutter upgrade等时提示waiting for another flutter command to release the startup lockf

flutter包下 bin/chache/loadflie文件 删除

AndroidX结合使用会产生错误:无法解决以下问题:Landroid / support / v4 / util / ArrayMap;

修改 ./android/gradle.properties

增加两行

android.enableJetifier=true

android.useAndroidX=true

org.gradle.jvmargs=-Xmx1536M

底部tab切换页面刷新问题

ios 坑

flutter 如果更换第三方库 需要在ios的BuildSetting path中 删除对应的包和他的上一行

突然d8编译报错

Tips: please make sure your all configurations are correct, but still black screen

如果您的MainActivity扩展io.flutter.embedding.android.FlutterActivity并覆盖了该configureFlutterEngine功能

请不要忘记添加 super.configureFlutterEngine(flutterEngine)

请不要添加GeneratedPluginRegistrant.registerWith(flutterEngine),插件将立即自动注册

flutter deviceloading 一直卡在链接设备上

关闭后台dart进程

 所有第三方项目都module not fount

iOS pod Error installing libwebp错误超详细解决办法

1、pod repo 查看 cocoapods 在本机的PATH

2、拼接地址:由1所得出path拼接为,path/Specs/1/9/2/libwebp

3、右键finder前往文件夹,将2所得地址输入,前往

4、打开你要加载的版本相应的文件夹,如我的错误信息为Installing libwebp (1.0.0),则用文本编辑打开1.0.0文件夹的json文件

5、将json中source下git地址更改为https://github.com/webmproject/libwebp.git

flutter 突然不行的修复缓存

flutter pub cache repair

flutter clean

flutter更新ios依赖时,pod install 卡住

pod install --verbose --no-repo-update

'flutter 无法打开“iproxy”,因为无法验证开发者。'

sudo xattr -d com.apple.quarantine /Users/xuezhenbo/data/flutter-1.22.3/bin/cache/artifacts/usbmuxd/iproxy

Vsync:this 报错
用 with 关键字后跟 一个或者多个 mixin 名字来实现 mixin
class text with TickerProviderStateMixin {
}

flutter for ios 无法打开“idevicesyslog”,因为无法验证开发者

先在终端输入
sudo spctl --master-disable
然后在设置 -> 安全与隐私 -> 通用 -> 运行从以下位置下载的App中会新增一个请求,点允许

Flutter 第三方包依赖的库冲突

Because every version of flutter_test from sdk depends on package_resolver 1.0.4 which depends on http ^0.11.0, every version of flutter_test from sdk requires http ^0.11.0.
And because cached_network_image >=0.5.0 depends on flutter_cache_manager ^0.2.0 which depends on http ^0.12.0, flutter_test from sdk is incompatible with cached_network_image >=0.5.0.
So, because passion_timer_scoped depends on both cached_network_image ^0.5.0 and flutter_test any from sdk, version solving failed.
当你库和多的时候,比如a库需要依赖c库的5.0版本,b库需要依赖c库的7.0版本,这个时候你就需要强制指定c库的版本为7.0版本
dependency_overrides
    冲突的库: ^强制指定版本

升级flutter版本后莫名出现的错误,原因是导入的第三方库与最新的版本不符,升级版本即可
 
../../../data/flutter/.pub-cache/hosted/pub.flutter-io.cn/path_provider_windows-0.0.4+3/lib/src/path_provider_windows_real.dart:126:25: Error: The getter 'addressOf' isn't defined for the class 'GUID'.
- 'GUID' is from 'package:win32/src/structs.dart' ('../../../data/flutter/.pub-cache/hosted/pub.flutter-io.cn/win32-1.7.4/lib/src/structs.dart').
Try correcting the name to the name of an existing getter, or defining a getter or field named 'addressOf'.
          knownFolderID.addressOf, KF_FLAG_DEFAULT, NULL, pathPtrPtr);
                        ^^^^^^^^^

TextField 长按或者反复点击报错

查看间接直接依赖的第三方库
flutter pub deps
android Unable to load class 'javax.xml.bind.JAXBException’.
Java版本过高,改为1.8
下面是操作图

  

Provider 高版本 取Model报错
import 'package:provider/provider.dart’;// 需要手动导包

context.watch<UserModel>() // 报错

kotlin更新报错,无法更新到kotlin-stdlib-jre7:1.3.60

kotlin插件升级到1.3.60时kotlin-stdlib-jre7已过时无法更新升级
解决方法:
将kotlin-stdlib-jre7换成kotlin-stdlib-jdk7,就可以更新下载最新的kotlin插件了

如何取消返回按钮的宽

leading :null,
automaticallyImplyLeading : false,

将布局顶到状态栏

MediaQuery.removePadding(
    removeTop:true
)
顶部状态栏的高度
// appbar高度
// AppBarTheme.of(context).toolbarHeight ?? kToolbarHeight
// 获取状态栏高度
// MediaQuery.of(context).padding.top

Flutter Xcode运行的时候提示Command PhaseScriptExecution failed with a nonzero exit code

将导致问题的库删掉重新加载一次
路由回到首页
Navigator.of(context).popUntil((route) => route.isFirst);

Webview 证书异常显示白屏和https白屏问题  
找到WebViewClient修改他的实现函数
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
  // super.onReceivedSslError(view, handler, error);
  //handler.cancel();// super中默认的处理方式,WebView变成空白页
  if (handler != null) {
    handler.proceed();// TODO 忽略证书的错误继续加载页面内容,不会变成空白页面
  }
}

Flutter for IOS 出现版本跟缓存版本不对应

CocoaPods could not find compatible versions for pod "tau_sound_core": In Podfile: flutter_sound (from .symlinks/plugins/flutter_sound/ios) was resolved to 8.0.2+1, which depends on tau_sound_core (= 8.0.2+1)
None of your spec sources contain a spec satisfying the dependency: tau_sound_core (= 8.0.2+1).
首先确认Podfile文件中 platform :ios, 10.0 以上
 
cd ios
pod cache clean --all
rm Podfile.lock
rm -rf .symlinks/
cd ..
flutter clean
flutter pub get
cd ios
pod update
pod repo update
pod install --repo-update
pod update
pod install
cd ..

Command PhaseScriptExecution failed with a nonzero exit code

在 APPNAME/ios/App/Pods/Target Support Files/Pods-App/Pods-App-frameworks.sh 中将 44行替换
 临时解决 每次pod install 后都需要重新设置  想真正解决需要升级flutter 3.7.11版本
source="$(readlink "${source}")”
替换为
source="$(readlink -f "${source}")"

编译突然出现 package_config.json does not exist.

Did you run this command from the same directory as your pubspec.yaml file?

flutter clean
flutter pub get

  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 很抱歉,我不太清楚Flutter报错Error waiting for a debug connection: The log reader stopped unexpectedly这个问题,但我建议您可以搜索Flutter官方文档,了解相关解决方案,以解决该问题。 ### 回答2: 出现"Flutter报错Error waiting for a debug connection: The log reader stopped unexpectedly"这个错误是因为Flutter出现了一些问题,导致无法建立与调试连接的通信。可能出现这个问题的原因有以下几种情况: 1. 设备连接问题:可能是设备没有正确连接到电脑,或者连接的USB线出现了问题。可以尝试重新连接设备并重启Flutter应用程序。 2. 调试环境问题:可能是Flutter SDK或开发环境出现了一些错误或配置问题。可以尝试重新安装Flutter SDK并更新开发环境到最新版本。 3. 插件冲突问题:可能是已安装的某些插件与Flutter框架不兼容,导致了错误的发生。可以尝试暂时禁用插件并重新运行应用程序,查看是否能够解决问题。 4. Flutter版本问题:可能是使用的Flutter版本与项目依赖的Flutter版本不一致。可以尝试更新或降级Flutter版本,以解决依赖问题。 总之,出现这个错误时,我们可以检查和排除以上几个可能的原因,寻找合适的解决方法。如果以上方法仍然无法解决问题,可以参考Flutter开发者社区的讨论或向官方支持渠道寻求帮助,以获取更详细的帮助和解决方案。 ### 回答3: Flutter报错Error waiting for a debug connection: The log reader stopped unexpectedly,这是由于Flutter的调试连接遇到了问题并出现错误。一般来说,这个问题可能是由于以下几个原因导致的: 首先,可能是由于设备或模拟器的连接问题引起的。您可以尝试重新启动设备或模拟器,然后重新运行Flutter应用程序,看看问题是否解决。 其次,可能是由于Flutter SDK或Dart SDK的版本不匹配导致的。您可以尝试更新Flutter SDK和Dart SDK到最新版本,然后重新构建和运行应用程序,看看问题是否解决。 另外,可能是由于您的应用程序代码中存在bug或错误导致的。您可以仔细检查您的代码,尤其是与调试连接相关的部分,看看是否有任何错误或问题,并进行相应的修复。 最后,如果以上方法都没有解决问题,您可以尝试清除Flutter项目的缓存。您可以使用命令"flutter clean"清除项目的缓存,然后重新构建和运行应用程序,看看问题是否解决。 总结来说,Flutter报错Error waiting for a debug connection: The log reader stopped unexpectedly可能是由设备连接问题、SDK版本不匹配、应用程序代码错误或缓存问题等原因引起的。您可以根据具体情况尝试不同的解决方法来解决这个问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值