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
flutter for ios 无法打开“idevicesyslog”,因为无法验证开发者
Flutter 第三方包依赖的库冲突
dependency_overrides
冲突的库: ^强制指定版本
../../../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
Java版本过高,改为1.8
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);
找到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 出现版本跟缓存版本不对应
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
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