Flutter 报错解决方法汇总:

VIVO(Android 13)手机调试Flutter应用卡在启动页面 黑屏 白屏问题

解决方法:

因为vivo用****包裹隐藏了一些私人信息日志。
尝试调用*#*#112#*#* 点击更多—一键授权。
需要将Uimei1发送给vivo进行授权。
vivo开发者QQ:3002261823
我的手机是vivo iqoo7 android13

图片[1]-Flutter 报错解决方法汇总:-IT网络技术分享

原地址:https://github.com/flutter/flutter/issues/117019#issuecomment-1407595599


Could not create task ‘:flutter_plugin_android_lifecycle:generateDebugUnitTestConfig’.
this and base files have different roots: F:\application\IntelliJIDEAProjects\flutter_qqyy\build\flutter_plugin_android_lifecycle and D:\flutter_sdk\flutter.pub-cache\hosted\pub.flutter-io.cn\flutter_plugin_android_lifecycle-2.0.7\android.

解决方法一:

把项目移动到与flutter相同的目录。

解决方法二:

图片[2]-Flutter 报错解决方法汇总:-IT网络技术分享

设置一个环境变量 PUB_CACHE 修改后重启下电脑或者清理下pub缓存具体哪个不清楚。
//flutter pub缓存清理
//flutter pub cache repair


Flutter 调用显示弹框Dialog 异常报错 Unhandled Exception: No MaterialLocalizations found.

解决方法:

/// ---------------------- 在MyApp里面调用弹窗会报错  Unhandled Exception: No MaterialLocalizations found.---------------------------////
class MyApp extends StatefulWidget {
  const MyApp({super.key});
  @override
  State<MyApp> createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: HomeView(),
    );
  }
}
/// ---------------------- 在HomeVIew 里面调用弹窗不会报错 ---------------------------////
class HomeView extends StatefulWidget {
  const HomeView({Key? key}) : super(key: key);
  @override
  State<HomeView> createState() => _HomeViewState();
}
class _HomeViewState extends State<HomeView> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Plugin example app'),
      ),
      body: Center(),
    );
  }
}

【Getx里面使用页面保活报错AutomaticKeepAliveClientMixin’ can’t be mixed onto ‘GetView’ because ‘GetView’ doesn’t implement ‘State’. Try extending the class ‘AutomaticKeepAliveClientMixin’.

图片[3]-Flutter 报错解决方法汇总:-IT网络技术分享

解决方法:

//使用KeepAliveWrapper包裹要保活的组件
 TabBarView(
        controller: controller.tabController,
        children: const [
          KeepAliveWrapper(child: EmailView()),
          KeepAliveWrapper(child: ForumView()),
        ],
  ),
//保活器组件
class KeepAliveWrapper extends StatefulWidget {
  final Widget child;
  const KeepAliveWrapper({Key? key, required this.child}) : super(key: key);
  @override
  _KeepAliveWrapperState createState() => _KeepAliveWrapperState();
}
class _KeepAliveWrapperState extends State<KeepAliveWrapper>
    with AutomaticKeepAliveClientMixin {
  @override
  Widget build(BuildContext context) {
    super.build(context);
    return widget.child;
  }
  @override
  bool get wantKeepAlive => true;
}

flutter_launcher_icons:

Cannot not find minSdk from android/app/build.gradle or android/local.propertiesSpecify minSdk in either. 

//将 flutter.minSdkVersion 添加到项目下的 android/local.properties。
flutter.versionName=1.0.0
flutter.versionCode=1
flutter.minSdkVersion=30 // I added here

No MaterialLocalizations found – MyApp widgets require MaterialLocalizations to be provided by a Localizations widget ancestor

//一个简单的解决方法就是将 MaterialApp 小部件移动到 main() 方法。
main() {
  runApp(MaterialApp(home: App()));
}

Flutter NestedScrollView +Tabview 列表会被同步滚动解决方法

图片[4]-Flutter 报错解决方法汇总:-IT网络技术分享
问题说明图

使用扩展库解决:extended_nested_scroll_view: ^5.1.3

NestedScrollView组件替换为ExtendedNestedScrollView。
  ExtendedNestedScrollView(
       onlyOneScrollInBody: true,
    )
再用ExtendedVisibilityDetector组件包滚动组件
   ExtendedVisibilityDetector(
      uniqueKey: const Key('Tab1'),
      child: ListView(),
   )

flutter run 卡在Running Gradle task ‘assembleDebug’…

解决方法:

        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/public' }

1.修改\android\build.gradle文件里面的,repositories和allprojects。

图片[5]-Flutter 报错解决方法汇总:-IT网络技术分享

2.修改fluttersdk的目录下文件:packages\flutter_tools\gradle\ 里面的文件flutter.gradle和resolve_dependencies.gradle

图片[6]-Flutter 报错解决方法汇总:-IT网络技术分享
图片[7]-Flutter 报错解决方法汇总:-IT网络技术分享
图片[8]-Flutter 报错解决方法汇总:-IT网络技术分享

3..如果运行还是不行,这里需要修改gradle,很多人是这一步操作不成功,其实是idea下载gradle太慢导致。

第二种解决方法:

修改gradle为本地地址:

distributionUrl=你gradle存放的地址。

gradle下载地址:https://services.gradle.org/distributions/gradle-7.4-all.zip

gradle其他版本:https://services.gradle.org/distributions

图片[9]-Flutter 报错解决方法汇总:-IT网络技术分享

第三种解决方法:

  1. 打开你的 flutter 项目目录。
  2. 将目录更改为 flutter 项目 目录中的 android 目录cd android
图片[10]-Flutter 报错解决方法汇总:-IT网络技术分享
  1. 清洁等级./gradlew clean
  2. 构建 gradle ./gradlew build,或者您可以将这两个命令组合在一起./gradlew clean build
  3. 现在运行你的 flutter 项目。如果你使用 vscode,请按 F5。第一次 gradle 运行 assembleDebug 需要时间。

PS:如果所有步骤都不起作用,请删除 gradle

WARNING | Failed to process .ini file F:\avd.android\avd\INFO | Storing crashdata in:

图片[11]-Flutter 报错解决方法汇总:-IT网络技术分享

模拟器下载列表:https://developer.android.google.cn/studio/emulator_archive

找到你对应的模拟器下载下来,解压到报错的文件夹里面。

THE END
喜欢就支持一下吧
点赞6 分享