Deze handleiding veronderstelt dat u **vertrouwd** bent met [Android NDK](https://developer.android.com/ndk/downloads), [Rust](https://rustup.rs/) en [Flutter](https://flutter.dev/). Als je dat niet bent, sla dan over.
Of je kunt verder gaan maar op eigen risico
{{% /notice %}}
{{% notice note %}}
Het is mogelijk om RustDesk Android te bouwen op **Windows** en **MacOS** maar deze instructie is nog in actieve ontwikkeling
{{% /notice %}}
# Introductie
Hier leert u hoe u uw omgeving zodanig kunt voorbereiden dat u de toepassing met succes kunt bouwen en u zelf aan de code kunt werken via bijvoorbeeld Android Studio.
Deze handleiding is gebaseerd op het laatste werkende workflow bestand, om ervoor te zorgen dat alles gewoon werkt, als je problemen tegenkomt neem dan gerust contact met ons op via onze [Discord](https://discord.com/invite/nDceKgxnkV) of via een ander communicatiekanaal.
Het is mogelijk om de Android versie op Windows te bouwen, uit te voeren en te bewerken, maar dat vereist een gepatchte `flutter` map
Met "gepatcht" bedoel ik de map in staat zoals voor het draaien van `flutter build` op Linux machine.
# Veronderstellingen
- U gebruikt **Ubuntu 20.04** of later ( omdat deze handleiding gebaseerd is op deze versie )
- Je hebt een werkende internetverbinding
- Je hebt al de installatie van [**Flutter**](https://docs.flutter.dev/get-started/install/linux), [**vcpkg**]() en [**Rust**](https://www.rust-lang.org/tools/install)
- Je kloonde [RustDesk repository](https://github.com/rustdesk/rustdesk)
- e weet wat je doet
# Systeem
Dit deel van de handleiding is gebaseerd op een schone **Ubuntu 20.04** instantie met voorafgaande vereisten zoals **Flutter**, **Rust** en **vcpkg** reeds aanwezig en geconfigureerd.
Als u een van deze vereisten mist, moet u ze verkrijgen en configureren, en dan hier terugkeren.
# Instructie
Dit is een stap voor stap instructie.
## Genereer Bridge 🌉
Omdat dit project gebaseerd is op [Flutter Rust Bridge](https://cjycode.com/flutter_rust_bridge/index.html) moet je het eerst aanmaken, dat kan door de volgende commando's uit te voeren:
Wijzig uw huidige map in `rustdesk` map:
```
cd rustdesk
```
**Als je er geen had**, kloon dan [RustDesk repository](https://github.com/rustdesk/rustdesk), kun je dat voor elkaar krijgen door het draaien van:
```
git clone https://github.com/rustdesk/rustdesk
```
Dan kun je je map veranderen in `rustdesk`
```
cd rustdesk
```
Als u dit voor de eerste keer doet, moet u misschien ook een aantal vereisten installeren
Bij deze stap installeert u extra afhankelijkheden die nodig zijn voor [Flutter Rust Bridge](https://cjycode.com/flutter_rust_bridge/index.html) ook download je flutter afhankelijkheden uit het `pubspec.yaml` bestand.
Dit kan enige tijd duren, afhankelijk van de snelheid van uw internetverbinding en de algemene prestaties van uw computer
```
cargo install flutter_rust_bridge_codegen
pushd flutter && flutter pub get && popd
```
### Bridge-bestanden Genereren
Om alles te laten werken moet je Flutter Rust Bridge genereren, om dit te doen voer je gewoon uit:
Voor deze tutorial hebben we enkele afhankelijkheden voorbereid, voel je vrij om ze te gebruiken. Het vereist dat `vcpkg` geinstalleerd is, in dit geval in `/opt`
Je kunt het downloaden [hier](https://dl.google.com/android/repository/android-ndk-r23c-linux.zip), zul je het handmatig moeten installeren of volg [deze](https://developer.android.com/studio/projects/install-ndk) instructie. Dit bestand is vrij zwaar, dus dit proces kan even duren, het hangt vooral af van uw internetverbinding.
Bij deze stap zie je misschien enkele fouten in terminal, dit is normaal zolang ze gaan over `incompatible version of Kotlin` of `Runtime JAR files in the classpath should have the same version`.
Als je resultaat is zoals `✓ Built build/app` negeer het dan, het betekent gewoon dat je je apk met succes hebt gebouwd.
{{% /notice %}}
### Optioneel
Als je wilt kun je de gebouwde app ergens anders heen verplaatsen, voel je vrij om het uit te voeren: