Android Flutter踩坑
Posted 一叶飘舟
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Flutter踩坑相关的知识,希望对你有一定的参考价值。
1.卡在 Running "flutter pub get" in xxx .解决方法
Mac上
//命令行输入
vim ~/.bash_profile
//添加下面三行,保存
export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
export PATH=/Users/计算机名称/flutter/bin:$PATH //下载的flutterSDK的路径
//命令行输入
source ~/.bash_profile
flutter -h
Windows 新增两个环境变量
PUB_HOSTED_URL ===== https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL ===== https://storage.flutter-io.cn
2.在android上调试时,提示Kotlin相关下载问题。
检查Kotlin版本和项目配置版本
build.gradle中的配置是否相同。
不同的话修改为相同的版本
3.导入项目或新建项目 运行不起来
1.在运行项目前需检查 Gradle版本 Kotlin版本 AndroidSdk等的配置 是否和项目中的配置一致 如果不一致则需要修改项目中的配置
4.Gradle sync failed: Cause: error in opening zip file
复制Gradle zip包 到 项目.gradle中的对应位置
5.卡在Running Gradle task ‘assembleDebug‘
https://blog.csdn.net/qq_41560865/article/details/107175819
6.Please configure Android SDK
https://stackoverflow.com/questions/21070268/intellij-idea-13-error-please-select-android-sdk
7.Flutter 项目打包 生成APK IPA
C:\\Program Files\\Java\\jdk1.8.0_77\\bin>
生成签名文件:
keytool -genkey -v -keystore D:*******.jks -keyalg RSA -keysize 2048 -validity 10000 -alias ******
查看签名:
keytool -list -v -keystore D:*****.jks
8.Flutter 布局中解决 键盘顶出固定在底部的widget和键盘遮挡输入框的冲突
9.Flutter 项目真机调试一直处于loading...
在flutter开发的时候一直loading
在安装flutter的路径底下进入bin/cache,然后把下图的lockfile删除,然后重新跑一遍就好了
10.Flutter Waiting for another flutter command to release the startup lock
1.关闭Android Studio
2.打开flutter安装目录/bin/cache
3.删除lockfile文件
此时可在命令行再执行flutter相关命令,完美解决
11.'!_debugLocked': is not true.
使用Future去包含路由跳转:
Future.delayed(Duration.zero,()
Navigator.of(context).push(MaterialPageRoute(
builder: (BuildContext context) => routes.buildPage(path, params),
));
);
Future.delayed(Duration.zero,()
Navigator.of(context).push(MaterialPageRoute(
settings: RouteSettings(name: path),
builder: (BuildContext context) => routes.buildPage(path, params),
fullscreenDialog: true,
));
);
后面遇到问题了再汇总
以上是关于Android Flutter踩坑的主要内容,如果未能解决你的问题,请参考以下文章
程序员踩坑之旅:将 75000 行 iOS 原生代码迁移到 Flutter!
Android踩坑小记:ndk版本与Android Gradle Plugin版本兼容