フラッターランを実行するとエラーが発生する
ターゲットファイル「lib/main.Dart」が見つかりません。
なぜこれが起こっているのですか、どうすれば修正できますか?
ターゲットファイルパスを設定した場合、任意のDIRから任意のファイルを実行できます。例:
flutter run -t lib/main_dev.Dart
OR
flutter run lib/dev/main_dev.Dart
更新(2020 2月5日)
ただし、プロジェクトからmain.Dartを削除することはお勧めできません。
さまざまな環境に対応するようにアプリを設定/構成しているため、ほとんどの人がこのリンクを見つけたと思います。 dev、stg、beta、prod。
例:
main_dev.Dart:
void main() async {
dynamic configuredApp = AppConfig(
appName: 'Flutter',
flavorName: 'development',
appVersion: 1.0,
apiBaseUrl: 'https://dev-api.example.com/'
);
runApp(App(configuredApp));
}
main.Dart
class App extends StatefulWidget {
final dynamic configuredApp;
App(this.configuredApp);
@override
_AppState createState() => _AppState();
}
このファイル内でmain.Dartファイルとメソッドmain(){}が参照されていない場合、一部のビルドステップがAndroid StudioのほとんどがGradle関連で失敗することがわかります。
フラッタービルドエラーに関連する以下の詳細/解決策:非ゼロの終了値1で終了
デバッガーツールを使用したVSコードのflutter run -t lib/main_dev.Dart
の代替。
.vscode/launch.json
"configurations": [
{
"name": "Flutter",
"request": "launch",
"type": "Dart",
// "args": ["--enable-software-rendering"]
// "flutterMode": "profile", //debug //release
"program": "${workspaceFolder}/lib/main_dev.Dart"
}
]
お役に立てれば。
Flutterはlibフォルダーでmain.Dartを探していますが、他のパッケージ内にファイルがあったはずです。
最善の解決策は、main.Dartファイルをlibフォルダー内に配置することです。フラッター実行コマンドは確実に機能します。
それは私のために働いた。
main.DartのURLは次のとおりです:/lib/main.Dart
Vscodeを使用している場合...
エラーが発生すると、サイドバーにvscodeフォルダーが表示されます。中にはlaunch.jsonファイルがあります。
Launch.jsonファイルの"program": "..."プロパティを変更して、目的のディレクトリで.Dartファイルを実行できます。
これは、Visual Studio Codeを使用したときに発生しました。問題を解決するために私がしたことは、.vscode/launch.json
ファイルを編集し、"program"
の値をmain.Dart
ファイルの絶対パスに変更することでした(例:C://...
)。
ビジュアルコードを使用していて、デバッグ中にこの問題が発生した場合は、launch.jsonに移動し、flutterアプリが配置されている場所に移動し、libフォルダーに移動してから、main.Dartに移動し、パスをコピーして追加します下の写真に示すように、launch.jsonのテキストprogramにそれを追加します
私の場合は、mainを呼び出すためのコードを書くのを忘れていました...
void main()
{
runApp......
}
そして、これはうまくいきました
final FlutterDevice flutterDevice = await FlutterDevice.create
をお試しください
根本的な原因は、アタッチしてホットリロードを実行するために使用するResidentRunnerが、ターゲットが見つからない場合にmain.Dart
ファイルを見つけようとすることです。発表した。アタッチはターゲットを提供しないため、常にデフォルトの動作を使用します。 DaceShuckerow のとおり。
この問題はまだofficialRepo にあります。
フォルダー。vscode> launch.jsonを確認し、構成を追加します。
すでに変更している場合"program": "main.Dartのパスの例:lib/main.Dart"
{
"name": "Dart",
"type": "Dart",
"request": "launch",
"program": "lib/main.Dart"
},
Androidスタジオでこれは私のために働きます
VSCode
を使用している場合は、次の方法を試してください。
プロジェクトディレクトリーの.vscodeフォルダーを削除し、プログラムを再実行します。
VSCodeユーザー:launch.jsonに移動して、「Program」行を次のように置き換えます。
"Program":"${rootProject.buildDir}/${project.name}/lib/main.Dart"