Flutter + VsCode: --dart-define не применяется (всегда)Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Flutter + VsCode: --dart-define не применяется (всегда)

Сообщение Anonymous »

Создайте новое демо-приложение-счетчик (домашняя страница Flutter Demo) и измените MyApp на это:
// ...
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
print(const String.fromEnvironment('TESTVAR1'));
print(const String.fromEnvironment('TESTVAR2'));
return MaterialApp(
// ...

Затем создайте .vscode/launch.json и обновите его до:
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "example_app",
"request": "launch",
"type": "dart",
"toolArgs": [
"--dart-define=\"TESTVAR1=value1\"",
"--dart-define",
"TESTVAR2=value2"
],
"args": [
"--dart-define=\"TESTVAR1=value1a\"",
"--dart-define",
"TESTVAR2=value2a"
]
},
{
"name": "example_app (profile mode)",
"request": "launch",
"type": "dart",
"flutterMode": "profile",
"toolArgs": [
"--dart-define=\"TESTVAR1=value3\"",
"--dart-define",
"TESTVAR2=value4"
],
"args": [
"--dart-define=\"TESTVAR1=value3a\"",
"--dart-define",
"TESTVAR2=value4a"
]
},
{
"name": "example_app (release mode)",
"request": "launch",
"type": "dart",
"flutterMode": "release",
"toolArgs": [
"--dart-define=\"TESTVAR1=value5\"",
"--dart-define",
"TESTVAR2=value6"
],
"args": [
"--dart-define=\"TESTVAR1=value5a\"",
"--dart-define",
"TESTVAR2=value6a"
]
}
]
}

Теперь запустите это приложение на эмуляторе Android и на физическом устройстве Android.
У меня устройство Android постоянно печатает:
(2) I/flutter (14855):

(т. е. 2 раза пустая строка)
Эмулятор Android переключается между печатью, как указано выше (2 раза пустая строка), и печатью следующего:< /p>
I/flutter ( 4461):
I/flutter ( 4461): value2a

Я хочу последовательно использовать переменные среды в своем приложении во всех средах (эмулятор, устройство отладки, отдельный APK на устройстве). В этот момент это иногда срабатывает, но чаще всего нет. Что может быть причиной этого и как это решить?

Работа на Windows 11
flutter --version

Flutter 3.22.2 • channel stable • https://github.com/flutter/flutter.git
Framework • revision 761747bfc5 (4 months ago) • 2024-06-05 22:15:13 +0200
Engine • revision edd8546116
Tools • Dart 3.4.3 • DevTools 2.34.3

flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.22.2, on Microsoft Windows [Version 10.0.22631.4169], locale nl-NL)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[√] Chrome - develop for the web
[!] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.8.3)
X Visual Studio is missing necessary components. Please re-run the Visual Studio installer for the "Desktop development with C++" workload, and include these components:
MSVC v142 - VS 2019 C++ x64/x86 build tools
- If there are multiple build tool versions available, install the latest
C++ CMake tools for Windows
Windows 10 SDK
[√] Android Studio (version 2024.1)
[√] VS Code (version 1.93.1)
[√] Connected device (6 available)
[√] Network resources

! Doctor found issues in 1 category.


Подробнее здесь: https://stackoverflow.com/questions/790 ... ys-applied
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»