Evgenii Legotckoi
Evgenii Legotckoi6. Januar 2019 07:03

Flutter - Tutorial 001. Hallo Welt

Flutter ist ein neues Framework von Google zur Entwicklung von Apps für Android und iOS. Als Programmiersprache wird Dart (ebenfalls von Google entwickelt) verwendet.

Werfen wir einen Blick auf die Ausführung unserer ersten Flutter-App.


Um unsere erste Anwendung zu erstellen, die auf Android läuft, müssen wir alle notwendigen Komponenten installieren. Diese Komponenten werden unter Ubuntu Linux installiert.

Flutter herunterladen

Die offizielle Dokumentation schlägt vor, zuerst Flutter selbst herunterzuladen und dann zu entpacken.

cd ~/development
tar xf ~/Downloads/flutter_linux_v1.0.0-stable.tar.xz

Voraussetzungen prüfen.

Außerdem schlagen sie vor, das Flutter-Dienstprogramm auf dem Weg hinzuzufügen, damit Sie mit der Diagnose des Vorhandenseins aller erforderlichen Komponenten im System beginnen können.

export PATH=$PATH:`pwd`/flutter/bin

Dann wird das Hilfsprogramm Flatter Doctor gestartet, das anzeigt, ob alle Komponenten im System vorhanden sind.

[-] Android toolchain - develop for Android devices
    • Android SDK at /Users/obiwan/Library/Android/sdk
    ✗ Android SDK is missing command line tools; download from https://goo.gl/XxQghQ
    • Try re-installing or updating your Android SDK,
      visit https://flutter.io/setup/#android-setup for detailed instructions.

Geben Sie die Pfade zum Flutter-SDK an

Zunächst schlagen sie vor, die Pfade zum Flutter SDK anzugeben. Dazu benötigen Sie:

  1. Suchen Sie das Verzeichnis, in dem das Flattern platziert wurde. Wenn Sie den Anweisungen gefolgt sind, sollte der Pfad so aussehen.
    /home/user/development/flutter/bin
  2. Öffnen oder erstellen Sie die Datei
    $HOME/.bash_profile
  3. Fügen Sie dieser Datei den Pfad zum Flatter-SDK hinzu
    export PATH=$PATH:/home/user/development/flutter/bin
  4. Aktualisieren Sie die Bash-Umgebung
    source $HOME/.bash_profile
  5. Sie können überprüfen, ob der Pfad hinzugefügt wurde.
    echo $PATH

Installieren Sie Android Studio

Da dies eine Einrichtungsanleitung für Linux ist, können Sie die Installation von Android Studio über Systempakete snap verwenden. Es ist wirklich einfacher.

sudo snap install android-studio --classic

Ich überspringe die Standardeinstellungen von Android Studio, wie z. B. das Festlegen des Farbschemas. Denn der wichtigste Punkt ist die Installation von Plugins für die Arbeit mit Dart und Flutter.

Android Studio-Einstellungen

Diese Einstellungen finden Sie unter Datei -> Einstellungen

Android Studio-Einstellungen

Dart-Plugin

Dart-Plugin

Flutter-Plugin

Flutter-Plugin

Annahme von Lizenzen

Sie müssen Flutterfaktor --android-licenses erneut ausführen, um alle Lizenzen abzuschließen.

Starten Sie ein neues Flutter-Projekt

Anschließend können Sie ein Flutter-Projekt erstellen Ein neues Flutter-Projekt starten

Neues Flutter-Projekt starten

Flutter-App auswählen

Flutteranwendung

Flutter-SDK angeben

Bitte geben Sie Ihre Firmendomain ein

Danach wird das Flutter-Projekt erstellt.

Achten Sie auf die Projektstruktur. Externe Bibliotheken müssen über alle erforderlichen Komponenten verfügen:

  1. Dartpakete
  2. Darth-SDK
  3. Flattern für Android

Wenn eines der Elemente nicht verfügbar ist, müssen Sie entweder Flutter neu installieren oder die Pfade in den IDE-Einstellungen richtig einstellen.

Dart-Einstellungen

Dart Dart

Flattereinstellungen

Flatter

Anschließen eines Android-Smartphones

Verbinden Sie als Nächstes Ihr Smartphone mit dem Android-Computer, um den letzten Schritt für die erforderlichen Komponenten abzuschließen. Sie können natürlich einen Emulator verwenden, aber ich persönlich bevorzuge ein Live-Gerät. Immerhin sollte in diesem Fall ein Android-Smartphone zur Hand sein.

Und überprüfen Sie, ob alles in Ordnung ist, durch den Flatterarzt.

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.0.0, on Linux, locale C.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK 28.0.3)
[✓] Android Studio (version 3.2)
[✓] Connected device (1 available)

• No issues found!

Fazit

Nachdem Sie die apk auf Ihrem Smartphone erstellt und installiert haben, sehen Sie diese Anwendung.

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Stabiles Hosting des sozialen Netzwerks EVILEG. Wir empfehlen VDS-Hosting für Django-Projekte.

Magst du es? In sozialen Netzwerken teilen!

Ruslan Polupan
  • 8. Januar 2019 07:35

Доброго времени суток. В Андроид разработке новичек, посему будут вовросы.
Делал все по статье. Но получил следующую картину

rust@Leap15:~/Android/Sdk/tools/bin> flutter doctor -v
[✓] Flutter (Channel stable, v1.0.0, on Linux, locale ru_RU.UTF-8)
    • Flutter version 1.0.0 at /home/rust/develop/flutter
    • Framework revision 5391447fae (6 недель назад), 2018-11-29 19:41:26 -0800
    • Engine revision 7375a0f414
    • Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

⣾Error retrieving device properties for ro.product.cpu.abi:
error: insufficient permissions for device
See [http://developer.android.com/tools/device.html] for more information


[!] Android toolchain - develop for Android devices (Android SDK 28.0.3)
    • Android SDK at /home/rust/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /opt/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)
    ✗ Android license status unknown.

[✓] Android Studio (version 3.2)
    • Android Studio at /opt/android-studio
    • Flutter plugin version 31.3.1
    • Dart plugin version 181.5656
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1136-b06)

[✓] Connected device (1 available)
    • 612HKBR8272WZ • 612HKBR8272WZ • android-arm • Android null (API null)

! Doctor found issues in 1 category.

При попытке обновить лицензии выдает следующе

rust@Leap15:~/Android/Sdk/tools/bin> /home/rust/Android/Sdk/tools/bin/sdkmanager --update
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
        at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
        at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
        at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
        at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
        at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
        at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
        at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
        ... 5 more

Подскажите в какую сторону копать.....

Evgenii Legotckoi
  • 8. Januar 2019 07:45

Добрый день!

Саму Android Studio запускали? она должна скачать нужные SDK самостоятельно при первом старте. Либо запустите Android-Studio и посмотрите, что может выдать SDK Manager. То есть сделайте без консольных утилит это.

Я поэтому из snap устанавливал, там уже всё нормально настроено.

Kommentare

Nur autorisierte Benutzer können Kommentare posten.
Bitte Anmelden oder Registrieren
Letzte Kommentare
ИМ
Игорь Максимов5. Oktober 2024 07:51
Django – Lektion 064. So schreiben Sie eine Python-Markdown-Erweiterung Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas55. Juli 2024 11:02
QML - Lektion 016. SQLite-Datenbank und das Arbeiten damit in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
k
kmssr8. Februar 2024 18:43
Qt Linux - Lektion 001. Autorun Qt-Anwendung unter Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
Qt WinAPI - Lektion 007. Arbeiten mit ICMP-Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25. Dezember 2023 10:30
Boost - statisches Verknüpfen im CMake-Projekt unter Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
Jetzt im Forum diskutieren
J
JacobFib17. Oktober 2024 03:27
добавить qlineseries в функции Пользователь может получить любые разъяснения по интересующим вопросам, касающимся обработки его персональных данных, обратившись к Оператору с помощью электронной почты https://topdecorpro.ru…
JW
Jhon Wick1. Oktober 2024 15:52
Indian Food Restaurant In Columbus OH| Layla’s Kitchen Indian Restaurant If you're looking for a truly authentic https://www.laylaskitchenrestaurantohio.com/ , Layla’s Kitchen Indian Restaurant is your go-to destination. Located at 6152 Cleveland Ave, Colu…
КГ
Кирилл Гусарев27. September 2024 09:09
Не запускается программа на Qt: точка входа в процедуру не найдена в библиотеке DLL Написал программу на C++ Qt в Qt Creator, сбилдил Release с помощью MinGW 64-bit, бинарнику напихал dll-ки с помощью windeployqt.exe. При попытке запуска моей сбилженной программы выдаёт три оши…
F
Fynjy22. Juli 2024 04:15
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

Folgen Sie uns in sozialen Netzwerken