我正在学习Dart和Flutter并在Android Studio 3.1.2下开发一个小型Android Flutter应用。突然调试器断点停止工作 - 在调试模式下启动的应用程序永远不会在它们上停止,并且指示断点的红点变为红色点,其中x为内部。我的应用程序中唯一可以工作的地方是main.dart模块。
我多次清理项目,在两个不同的设备上进行测试,完全卸载了我的Flutter调试应用程序并启动了新功能 - 没有任何帮助。关于beta(当前beta 2)频道的颤动更新什么都不做。还尝试切换到开发和主通道 - 没有帮助。
有没有人遇到类似的情况,怎么处理呢?
编辑,添加flutter doctor的mail.dart和输出(当前在master分支上,但在切换到beta或dev分支后有相同的问题):
从main.dart导入,或者更好地导入main.dart:
import 'package:flutter/material.dart';
import 'package:flutter_localizations/flutter_localizations.dart';
import 'app_strings.dart';
import 'net_libs_page/net_libs_page.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
localizationsDelegates: [
// ... app-specific localization delegate[s] here
AppLocalizationsDelegate(),
GlobalMaterialLocalizations.delegate,
GlobalWidgetsLocalizations.delegate,
//FallbackMaterialLocalisationsDelegate(),
],
supportedLocales: [
Locale('en', 'US'), // English
Locale('es', 'ES'), // Spanish
Locale('pl', 'PL'),
// ... other locales the app supports
],
title: '@Voice Network Library', //_strings.title,
theme: ThemeData(
// This is the theme of your application.
//
// Try running your application with "flutter run". You'll see the
// application has a blue toolbar. Then, without quitting the app, try
// changing the primarySwatch below to Colors.green and then invoke
// "hot reload" (press "r" in the console where you ran "flutter run",
// or press Run > Flutter Hot Reload in IntelliJ). Notice that the
// counter didn't reset back to zero; the application is not restarted.
primarySwatch: Colors.indigo,
),
home: NetLibsPage(),
);
}
}
Flutter医生输出:
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel master, v0.4.5-pre.52, on Microsoft Windows [Version 10.0.16299.431], locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[√] Android Studio (version 3.1)
[!] IntelliJ IDEA Ultimate Edition (version 2018.1)
X Flutter plugin not installed; this adds Flutter specific functionality.
X Dart plugin not installed; this adds Dart specific functionality.
[!] VS Code, 32-bit edition (version 1.19.3)
[√] Connected devices (1 available)
! Doctor found issues in 2 categories.
答案 0 :(得分:9)
请勿在{{1}}
中使用相对导入lib/main.dart
改为使用
import 'app_strings.dart';
import 'net_libs_page/net_libs_page.dart';
其中import 'package:my_app/app_strings.dart';
import 'package:my_app/net_libs_page/net_libs_page.dart';
是my_app
字段pubspec.yaml
中的内容。
答案 1 :(得分:1)
对于那些在VS Code上使用flutter的人,
请查看您对飞镖文件名所做的更改。
我在VS Code上遇到了同样的问题。它没有显示任何编译错误,可以正常工作,但是断点不起作用。
在进行更改时,我查看了一些更改为的dart文件。
例如,我将“ Home.dart”更改为“ home.dart”,依此类推。
即使更改文件名,VS Code有时也无法反映更改,
这意味着即使您将Home.dart更改为home.dart,
左面板显示home.dart,而右面板显示打开的文件仍然显示“ Home.dart”
下面的图片解释了我刚才要解决的所有问题。
解决方案是简单地关闭所有打开的dart文件,关闭VS Code,然后重新打开它。这对我有用。
答案 2 :(得分:0)
似乎导入路径中路径的大写导致断点停止工作。即:
package:myApp/model/myWidget/myWidget.dart
和
package:myApp/model/MyWidget/MyWidget.dart
调试时不同。有趣的是,该应用程序启动时不会出现路径大写错误的问题。