Diese Anleitung setzt voraus, dass Sie mit [Android NDK](https://developer.android.com/ndk/downloads), [Rust](https://rustup.rs/) und [Flutter](https://flutter.dev/) **vertraut** sind.
Wenn nicht, überspringen Sie bitte diese Seite oder lesen auf eigene Gefahr weiter.
Es ist möglich, RustDesk Android auf **Windows** und **macOS** zu bauen, aber diese Anleitung ist noch in der aktiven Entwicklung.
{{% /notice %}}
# Einführung
Hier erfahren Sie, wie Sie Ihre Umgebung so weit vorbereiten, dass Sie die App erfolgreich erstellen können und in der Lage sind, den Code z. B. mit Android Studio zu bearbeiten.
Diese Anleitung basiert auf der letzten funktionierenden Workflow-Datei, um sicherzustellen, dass alles funktioniert. Wenn Sie irgendwelche Probleme haben, kontaktieren Sie uns auf unserem [Discord](https://discord.com/invite/nDceKgxnkV) oder über einen anderen Kommunikationskanal.
Man kann die Android-Version unter Windows erstellen, ausführen und bearbeiten, benötigt aber ein Verzeichnis mit gepatchtem `Flutter`.
Mit "gepatcht" ist der Zustand des Verzeichnisses vor dem Ausführen von `flutter build` auf dem Linux-Rechner gemeint.
# Voraussetzungen
- Sie verwenden **Ubuntu 20.04** oder höher (diese Anleitung basiert auf dieser Version)
- Sie haben eine funktionierende Internetverbindung
- Sie haben bereits [**Flutter**](https://docs.flutter.dev/get-started/install/linux), [**vcpkg**](https://github.com/microsoft/vcpkg) und [**Rust**](https://www.rust-lang.org/tools/install) installiert
- Sie haben das [RustDesk-Repository](https://github.com/rustdesk/rustdesk) geklont
- Sie wissen, was Sie tun
# System
Dieser Teil der Anleitung basiert auf einer sauberen Instanz von **Ubuntu 20.04** mit bereits installierten und konfigurierten Komponenten wie **Flutter**, **Rust** und **vcpkg**.
Wenn Ihnen eine dieser Komponenten fehlt, beschaffen und konfigurieren Sie sie und kehren Sie dann hierher zurück.
# Anleitung
Dies ist eine Schritt-für-Schritt-Anleitung.
## Bridge generieren 🌉
Da dieses Projekt auf [flutter_rust_bridge](https://cjycode.com/flutter_rust_bridge/index.html) basiert, sollten Sie es zuerst generieren, was Sie mit den folgenden Befehlen erreichen können.
### Abhängigkeiten der Flutter-Rust-Bridge installieren
In diesem Schritt werden Sie zusätzliche Abhängigkeiten installieren, die von [flutter-rust-bridge](https://cjycode.com/flutter_rust_bridge/index.html) benötigt werden. Außerdem werden Sie die Flutter-Abhängigkeiten aus der Datei `pubspec.yaml` herunterladen.
Dies kann je nach Geschwindigkeit Ihrer Internetverbindung und der Gesamtleistung Ihres Desktops einige Zeit dauern:
```
cargo install flutter_rust_bridge_codegen
pushd flutter && flutter pub get && popd
```
### Bridge-Dateien generieren
Damit alles funktioniert, müssen Sie die Flutter-Rust-Bridge generieren und einfach ausführen:
Möglicherweise müssen Sie auch `ffigen` aktivieren:
```
dart pub global activate ffigen 5.0.1
```
### Zusätzliche Abhängigkeiten herunterladen
Für diese Anleitung haben wir einige Abhängigkeiten für Sie vorbereitet, Sie können sie gerne verwenden. Es erfordert, dass `vcpkg` installiert ist, in diesem Fall unter `/opt`:
Sie können es [hier](https://dl.google.com/android/repository/android-ndk-r23c-linux.zip) herunterladen und manuell installieren oder dieser [Anleitung](https://developer.android.com/studio/projects/install-ndk) folgen. Diese Datei ist recht umfangreich, sodass dieser Vorgang eine Weile dauern kann, was hauptsächlich von Ihrer Internetverbindung abhängt.
Bei diesem Schritt könnten Sie einige Fehler wie `incompatible version of Kotlin` oder `Runtime JAR files in the classpath should have the same version` im Terminal sehen. Das ist normal.
Wenn das Ergebnis `✓ Built build/app` lautet, dann ignorieren Sie es. Es bedeutet nur, dass Sie Ihre App erfolgreich gebaut haben.