1、运行应用程序时报错:
- Error running Gradle:
ProcessException: Process "E:\studyDemo\FlutterDome\flutter_app\android\gradlew.bat" exited abnormally:
Starting a Gradle Daemon (subsequent builds will be faster)
FAILURE: Build failed with an exception.
Build failed with an exception.
What went wrong: A problem occurred configuring
root project 'android'. > Could not resolve all artifacts for configuration ':classpath'. > Could not resolve
org.jetbrains.kotlin:kotlin-compiler-embeddable:1.2.71. Required by: project : >
org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.71
解决:下载相关资源问题,资源是外网,需要翻墙。
2、 真机测试请求超时。检查是不是在同一个网络下。
3、使用post提交参数是,参数需使用 FormData 类型,如下:
FormData formData = new FormData.fromMap(data);
dio.post("login", data: formData);
4、TextFormField用onChanged 监听并设置值的时候,输入框的输入光标总是在第一个。
解决:用 onSaved 代替 onChanged
5、 TextField 的 onchanged 里 写了 setState 后 ,输入框输入不了内容。
报异常: ════════ Exception caught by gesture ════════
invalid text selection: TextSelection(baseOffset: 5, extentOffset: 5, affinity: TextAffinity.upstream, isDirectional: false)
// _unameController.clear(); //把这行代码改成下面的
WidgetsBinding.instance.addPostFrameCallback((_) => _unameController.clear());
6, 使用包 image_picker: ^0.6.3 时,启动报错:
Android dependency 'androidx.versionedparcelable:versionedparcelable' has different version for the compile (1.0.0-beta01) and runtime (1.0.0) classpath. You should manually set the same version via DependencyResolution
解决:在 android/app/build.gradle 里添加:
project.configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'androidx.core') {
details.useVersion "1.0.1"
}
if (details.requested.group == 'androidx.lifecycle') {
details.useVersion "2.0.0"
}
if (details.requested.group == 'androidx.versionedparcelable') {
details.useVersion "1.0.0"
}
}
}
}
7: 使用Navigator 路由跳转的时候报错误:NoSuchMethodError: The method 'findAncestorStateOfType' was called on null.
原因: 传入的content为空造成的,排查修改传content代码。 或者项目中全局变量里存content,在此报错处使用。
8: 当图片路径正确时,报错:Unable to load asset: assets/icon.png
解决:
1、保证图片路径正确,图片名没写错。
2、保证在pubspec.yaml里引入了此图片
9、TextField 输入框的值会消失。 当你输入完值,向下滑动页面后,输入框的值会消失。
解决: 给输入框加上 controller 属性
10: 启动或打包是报错:uses-sdk:minSdkVersion 16 cannot be smaller than version 19 declared in library
解决: 把此文件中的 16 改成19 即可。
11: 启动报错 Error: Type 'DiagnosticableMixin' not found. class PictureStream with DiagnosticableMixin
原因: flutter 是 1.20.0+,DiagnosticableMixin 被移除了,所以引用的 package 无法编译。
flutter_svg 依赖 flutter的 DiagnosticableMixi方法 ,但是最新版的 flutter 已经移除了 DiagnosticableMixi方法
解决:dev 版本的截止目前还可以正常使用 ,flutter channel dev试试
如果是您的Flutter版本 < 1.20,请使用 flutter_svg: 0.17.4
如果是您的Flutter版本 >= 1.20,请使用 flutter_svg: 0.18
...
flutter_svg: ^0.18.0
12:安卓端启动报错: Error connecting to the service protocol: _flutter.listViews: (-32000) Bad state: The client closed with pending request
解决:用真机链接上vscode 后可以了, (当时用的模拟器,重启模拟器试试, 或重启电脑试试, 都不行,连真机)