mirror of
https://github.com/rustdesk/doc.rustdesk.com.git
synced 2025-06-20 17:57:47 +02:00
too many scammers are using the android version, have to remove it
This commit is contained in:
parent
3d8e2692c5
commit
eb1cd4aa7a
@ -1,218 +0,0 @@
|
||||
---
|
||||
title: Android
|
||||
weight: 22
|
||||
---
|
||||
|
||||
{{% notice note %}}
|
||||
Diese Anleitung setzt voraus, dass Sie mit [Android NDK](https://developer.android.com/ndk/downloads), [Flutter](https://flutter.dev/) und [Rust](https://rustup.rs/) **vertraut** sind.
|
||||
Wenn nicht, überspringen Sie bitte diese Seite oder lesen auf eigene Gefahr weiter.
|
||||
{{% /notice %}}
|
||||
|
||||
{{% notice note %}}
|
||||
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), [**Rust**](https://www.rust-lang.org/tools/install) und [**vcpkg**](https://github.com/microsoft/vcpkg) 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.
|
||||
|
||||
Wechseln Sie in das Verzeichnis `rustdesk`:
|
||||
|
||||
```
|
||||
cd rustdesk
|
||||
```
|
||||
|
||||
**Wenn Sie noch kein Repository haben**, klonen Sie das [RustDesk-Repository](https://github.com/rustdesk/rustdesk) mit dem folgenden Kommando:
|
||||
|
||||
```
|
||||
git clone https://github.com/rustdesk/rustdesk
|
||||
```
|
||||
|
||||
Dann können Sie in das Verzeichnis `rustdesk` wechseln:
|
||||
|
||||
```
|
||||
cd rustdesk
|
||||
```
|
||||
|
||||
Möglicherweise müssen Sie auch einige Komponenten installieren, wenn Sie dies zum ersten Mal tun:
|
||||
```
|
||||
sudo apt install ca-certificates -y
|
||||
sudo apt update -y
|
||||
sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang cmake libclang-dev ninja-build llvm-dev libclang-10-dev llvm-10-dev pkg-config rustfmt
|
||||
```
|
||||
#### 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:
|
||||
|
||||
```
|
||||
~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart
|
||||
```
|
||||
|
||||
Wenn alles geklappt hat, sollten Sie in Ihrem Terminal-Fenster etwas wie das hier sehen:
|
||||
```yaml
|
||||
2023/02/27 20:44:39 [INFO] Success!
|
||||
2023/02/27 20:44:39 [INFO] Now go and use it :)
|
||||
```
|
||||
|
||||
### RustDesk für Android erstellen 📱
|
||||
|
||||
#### Abhängigkeiten installieren
|
||||
|
||||
In diesem Schritt benötigen Sie möglicherweise einige zusätzliche Abhängigkeiten, die Sie mit diesem Befehl installieren können:
|
||||
```
|
||||
sudo apt update -y
|
||||
sudo apt-get -qq install -y git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake libclang-dev ninja-build libappindicator3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libvdpau-dev libva-dev libclang-dev llvm-dev libclang-10-dev llvm-10-dev pkg-config tree g++ libc6-dev gcc-multilib g++-multilib openjdk-11-jdk-headless
|
||||
```
|
||||
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`:
|
||||
|
||||
```
|
||||
pushd /opt
|
||||
sudo wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/dep.tar.gz
|
||||
sudo tar xzf dep.tar.gz
|
||||
popd
|
||||
```
|
||||
|
||||
**Warnung:** Das Verzeichnis `vcpkg` muss sich unter `$HOME` befinden, wenn der Teil `RustDesk-Bibliothek bauen` dieser Anleitung Fehler auslöst wie:
|
||||
|
||||
```yaml
|
||||
error: failed to run custom build command for `magnum-opus v0.4.0 (https://github.com/rustdesk/magnum-opus#79be072c)`
|
||||
|
||||
Caused by:
|
||||
process didn't exit successfully: `/home/user/rustdesk/target/release/build/magnum-opus-05dc0023b86da8fc/build-script-build` (exit status: 101)
|
||||
--- stdout
|
||||
cargo:info=arm64-android
|
||||
cargo:rustc-link-lib=static=opus
|
||||
cargo:rustc-link-search=/home/user/vcpkg/installed/arm64-android/lib
|
||||
cargo:include=/home/user/vcpkg/installed/arm64-android/include
|
||||
rerun-if-changed=/home/user/.cargo/git/checkouts/magnum-opus-4bb999f3bcbf6ab0/79be072/opus_ffi.h
|
||||
rerun-if-changed=/home/user/vcpkg/installed/arm64-android/include
|
||||
```
|
||||
Erwägen Sie, `vcpkg` in Ihrem Homeverzeichnis zu installieren und dann auszuführen:
|
||||
```
|
||||
pushd $HOME
|
||||
sudo wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/dep.tar.gz
|
||||
sudo tar xzf dep.tar.gz
|
||||
popd
|
||||
```
|
||||
|
||||
#### Bau der Flutter-Rust-Bridge deaktivieren
|
||||
Möglicherweise müssen Sie den Bau der Flutter-Rust-Bridge in der Datei `build.rs` deaktivieren, indem Sie dies ausführen:
|
||||
```
|
||||
sed -i "s/gen_flutter_rust_bridge();/\/\//g" build.rs
|
||||
```
|
||||
|
||||
#### RustDesk-Bibliothek bauen
|
||||
In diesem Schritt erstellen Sie die Datei `librustdesk.so`.
|
||||
|
||||
Zuerst fügen Sie `triplet` zu Rust hinzu:
|
||||
```
|
||||
rustup target add aarch64-linux-android
|
||||
```
|
||||
|
||||
Dann installieren Sie `cargo-ndk`. Es wird benötigt, um die Datei `librustdesk.so` zu erzeugen:
|
||||
|
||||
```
|
||||
cargo install cargo-ndk
|
||||
```
|
||||
|
||||
Jetzt ist es an der Zeit, `ndk_arm64.sh` auszuführen. Dieses Skript enthält Code, der Rust für Flutter baut. Es benötigt `NDK` in der Version `r23c`.
|
||||
|
||||
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.
|
||||
|
||||
Denken Sie daran, die Variable **ANDROID_NDK_HOME** zu setzen und zu überprüfen, ob sie gültig ist.
|
||||
|
||||
Dann starten Sie einfach:
|
||||
```
|
||||
./flutter/ndk_arm64.sh
|
||||
```
|
||||
|
||||
#### Generierte Bibliothek in das Verzeichnis `jniLibs` verschieben
|
||||
Wenn Sie `librustdesk.so` generiert haben, erstellen Sie das richtige Verzeichnis:
|
||||
```
|
||||
mkdir -p ./flutter/android/app/src/main/jniLibs/arm64-v8a
|
||||
```
|
||||
Und kopieren Sie diese einfach dorthin:
|
||||
```
|
||||
cp ./target/aarch64-linux-android/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/arm64-v8a/librustdesk.so
|
||||
```
|
||||
|
||||
#### RustDesk erstellen
|
||||
Im letzten Schritt werden Sie Ihre Version der RustDesk-App erstellen.
|
||||
|
||||
Wenn Sie alles richtig gemacht haben, werden Sie es mit Leichtigkeit bauen können.
|
||||
|
||||
Zuerst müssen Sie `so.tar.gz` herunterladen:
|
||||
```
|
||||
pushd flutter
|
||||
sudo wget -O so.tar.gz https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/so.tar.gz
|
||||
```
|
||||
Dann entpacken Sie es:
|
||||
```
|
||||
tar xzvf so.tar.gz
|
||||
popd
|
||||
```
|
||||
Wir verwenden vorübergehend `debug sign config`:
|
||||
|
||||
```
|
||||
sed -i "s/signingConfigs.release/signingConfigs.debug/g" ./flutter/android/app/build.gradle
|
||||
```
|
||||
Dann müssen Sie die Datei `librustdesk.so` in das richtige Verzeichnis kopieren:
|
||||
```
|
||||
mkdir -p ./flutter/android/app/src/main/jniLibs/arm64-v8a
|
||||
cp ./target/aarch64-linux-android/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/arm64-v8a/librustdesk.so
|
||||
```
|
||||
Jetzt bauen wir endlich Flutter:
|
||||
```
|
||||
pushd flutter
|
||||
flutter build apk --release --target-platform android-arm64 --split-per-abi
|
||||
```
|
||||
{{% notice note %}}
|
||||
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.
|
||||
|
||||
{{% /notice %}}
|
||||
|
||||
#### Optional
|
||||
Wenn Sie möchten, können Sie die erstellte App verschieben:
|
||||
```
|
||||
mv build/app/outputs/flutter-apk/app-arm64-v8a-release.apk ../rustdesk-release.apk
|
||||
```
|
@ -1,217 +0,0 @@
|
||||
---
|
||||
title: Android
|
||||
weight: 22
|
||||
---
|
||||
|
||||
{{% notice note %}}
|
||||
This tutorial suppose that you are **familiar** with [Android NDK](https://developer.android.com/ndk/downloads), [Flutter](https://flutter.dev/) and [Rust](https://rustup.rs/). If you are not, please skip.
|
||||
Or you can go further but at your own risk.
|
||||
{{% /notice %}}
|
||||
|
||||
{{% notice note %}}
|
||||
It is possible to build RustDesk Android on **Windows** and **macOS** but this instruction is still under active development.
|
||||
{{% /notice %}}
|
||||
|
||||
### Introduction
|
||||
|
||||
Here you will learn how to prepare your environment to such an extent that you will be able to successfully build the application and enable yourself to work on the code through, for example, Android Studio.
|
||||
|
||||
This tutorial is based on latest working workflow file, to ensure that everything will just works. If you encounter any problems feel free to contact us on our [Discord](https://discord.com/invite/nDceKgxnkV) or by other communication channel.
|
||||
|
||||
It is possible to build, run end edit Android version on Windows, but it requires patched `flutter` directory.
|
||||
|
||||
By "patched" I mean directory in state like before running `flutter build` on Linux machine.
|
||||
|
||||
### Assumptions
|
||||
- You are using **Ubuntu 20.04** or later (due to fact that this tutorial is based on this version)
|
||||
- You have working internet connection
|
||||
- You already installed [**Flutter**](https://docs.flutter.dev/get-started/install/linux), [**Rust**](https://www.rust-lang.org/tools/install) and [**vcpkg**](https://github.com/microsoft/vcpkg)
|
||||
- You cloned [RustDesk repository](https://github.com/rustdesk/rustdesk)
|
||||
- You know what are you doing
|
||||
|
||||
### System
|
||||
This part of tutorial is based on clean **Ubuntu 20.04** instance with prerequisites like **Flutter**, **Rust** and **vcpkg** already installed and configured.
|
||||
|
||||
If you missing any of these prerequisites, obtain and configure them, then return back here.
|
||||
|
||||
### Instruction
|
||||
This is step-to-step instruction.
|
||||
|
||||
### Generating Bridge 🌉
|
||||
|
||||
Due to fact that this project is based on [Flutter Rust Bridge](https://cjycode.com/flutter_rust_bridge/index.html) you should first generate it, you can achieve it by running following commands.
|
||||
|
||||
Change your current directory into `rustdesk` directory:
|
||||
|
||||
```
|
||||
cd rustdesk
|
||||
```
|
||||
|
||||
**If you did not have one**, clone [RustDesk repository](https://github.com/rustdesk/rustdesk), you can achieve that by running:
|
||||
|
||||
```
|
||||
git clone https://github.com/rustdesk/rustdesk
|
||||
```
|
||||
|
||||
Then you'll be able to change your directory into `rustdesk`:
|
||||
|
||||
```
|
||||
cd rustdesk
|
||||
```
|
||||
|
||||
You also might be required to install some prerequisites if you are doing this first time:
|
||||
```
|
||||
sudo apt install ca-certificates -y
|
||||
sudo apt update -y
|
||||
sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang cmake libclang-dev ninja-build llvm-dev libclang-10-dev llvm-10-dev pkg-config rustfmt
|
||||
```
|
||||
#### Installing Flutter Rust Bridge dependencies
|
||||
At this step you'll install additional dependencies required by [Flutter Rust Bridge](https://cjycode.com/flutter_rust_bridge/index.html) also you'll download Flutter dependencies from `pubspec.yaml` file.
|
||||
|
||||
This might take some time depending on your internet connection speed and overall desktop performance:
|
||||
```
|
||||
cargo install flutter_rust_bridge_codegen
|
||||
pushd flutter && flutter pub get && popd
|
||||
```
|
||||
#### Generating bridge files
|
||||
In order for everything to work you'll need to generate Flutter Rust Bridge, in order to do it simply run:
|
||||
|
||||
```
|
||||
~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart
|
||||
```
|
||||
|
||||
If everything worked fine, you should see something like this in your terminal window:
|
||||
```yaml
|
||||
2023/02/27 20:44:39 [INFO] Success!
|
||||
2023/02/27 20:44:39 [INFO] Now go and use it :)
|
||||
```
|
||||
|
||||
### Building RustDesk for Android 📱
|
||||
|
||||
#### Installing dependencies
|
||||
|
||||
At this step you might require some additional dependencies, you could install them by running this:
|
||||
```
|
||||
sudo apt update -y
|
||||
sudo apt-get -qq install -y git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake libclang-dev ninja-build libappindicator3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libvdpau-dev libva-dev libclang-dev llvm-dev libclang-10-dev llvm-10-dev pkg-config tree g++ libc6-dev gcc-multilib g++-multilib openjdk-11-jdk-headless
|
||||
```
|
||||
You might also need to activate ffigen:
|
||||
```
|
||||
dart pub global activate ffigen 5.0.1
|
||||
```
|
||||
|
||||
#### Downloading additional dependencies
|
||||
For this tutorial we prepared some dependencies for you, feel free to use them. It requires `vcpkg` to be installed, in this case at `/opt`:
|
||||
|
||||
```
|
||||
pushd /opt
|
||||
sudo wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/dep.tar.gz
|
||||
sudo tar xzf dep.tar.gz
|
||||
popd
|
||||
```
|
||||
|
||||
**Warning:** It requires vcpkg directory to be at `$HOME`, if `Building rustdesk lib` part of this instruction will throw errors like:
|
||||
```yaml
|
||||
error: failed to run custom build command for `magnum-opus v0.4.0 (https://github.com/rustdesk/magnum-opus#79be072c)`
|
||||
|
||||
Caused by:
|
||||
process didn't exit successfully: `/home/user/rustdesk/target/release/build/magnum-opus-05dc0023b86da8fc/build-script-build` (exit status: 101)
|
||||
--- stdout
|
||||
cargo:info=arm64-android
|
||||
cargo:rustc-link-lib=static=opus
|
||||
cargo:rustc-link-search=/home/user/vcpkg/installed/arm64-android/lib
|
||||
cargo:include=/home/user/vcpkg/installed/arm64-android/include
|
||||
rerun-if-changed=/home/user/.cargo/git/checkouts/magnum-opus-4bb999f3bcbf6ab0/79be072/opus_ffi.h
|
||||
rerun-if-changed=/home/user/vcpkg/installed/arm64-android/include
|
||||
```
|
||||
Consider installing `vcpkg` in your home directory, then run:
|
||||
```
|
||||
pushd $HOME
|
||||
sudo wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/dep.tar.gz
|
||||
sudo tar xzf dep.tar.gz
|
||||
popd
|
||||
```
|
||||
|
||||
#### Disabling Flutter Rust Bridge build
|
||||
You'll might need to disable building Flutter Rust Bridge from `build.rs` file, you can do it by running:
|
||||
```
|
||||
sed -i "s/gen_flutter_rust_bridge();/\/\//g" build.rs
|
||||
```
|
||||
|
||||
#### Building RustDesk library
|
||||
At this step you'll build `librustdesk.so` file.
|
||||
|
||||
First, add triplet to rust:
|
||||
```
|
||||
rustup target add aarch64-linux-android
|
||||
```
|
||||
|
||||
Then install `cargo-ndk` it is required to generate `librustdesk.so` file:
|
||||
|
||||
```
|
||||
cargo install cargo-ndk
|
||||
```
|
||||
|
||||
Now it's time to run `ndk_arm64.sh`. This script contains code that builds Rust for Flutter, it requires `NDK` in version `r23c`.
|
||||
|
||||
You could download it [here](https://dl.google.com/android/repository/android-ndk-r23c-linux.zip). You'll be required to install it manually or follow this [instruction](https://developer.android.com/studio/projects/install-ndk). This file is quite heavy so this process might take a while, it mostly depends on your internet connection.
|
||||
|
||||
Just remember to set **ANDROID_NDK_HOME** variable and check if it's valid.
|
||||
|
||||
Then simply run:
|
||||
```
|
||||
./flutter/ndk_arm64.sh
|
||||
```
|
||||
|
||||
#### Moving generated library into jniLibs directory
|
||||
If you generated `librustdesk.so` then create proper directory:
|
||||
```
|
||||
mkdir -p ./flutter/android/app/src/main/jniLibs/arm64-v8a
|
||||
```
|
||||
And just copy it there:
|
||||
```
|
||||
cp ./target/aarch64-linux-android/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/arm64-v8a/librustdesk.so
|
||||
```
|
||||
|
||||
#### Building RustDesk
|
||||
It's the last step, now you will build your version of RustDesk apk.
|
||||
|
||||
If you done everything correctly you'll be able to build it with ease.
|
||||
|
||||
First you need to download `so.tar.gz`:
|
||||
```
|
||||
pushd flutter
|
||||
sudo wget -O so.tar.gz https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/so.tar.gz
|
||||
```
|
||||
Then unpack it:
|
||||
```
|
||||
tar xzvf so.tar.gz
|
||||
popd
|
||||
```
|
||||
We'll temporary use `debug sign config`:
|
||||
|
||||
```
|
||||
sed -i "s/signingConfigs.release/signingConfigs.debug/g" ./flutter/android/app/build.gradle
|
||||
```
|
||||
Then you need to copy `librustdesk.so` file into proper directory:
|
||||
```
|
||||
mkdir -p ./flutter/android/app/src/main/jniLibs/arm64-v8a
|
||||
cp ./target/aarch64-linux-android/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/arm64-v8a/librustdesk.so
|
||||
```
|
||||
Now we'll finally build Flutter:
|
||||
```
|
||||
pushd flutter
|
||||
flutter build apk --release --target-platform android-arm64 --split-per-abi
|
||||
```
|
||||
{{% notice note %}}
|
||||
At this step you might see some errors in terminal, this is normal as long as they about `incompatible version of Kotlin` or `Runtime JAR files in the classpath should have the same version`.
|
||||
|
||||
If your result is like `✓ Built build/app` then ignore it, it just means that you builded your apk successfully.
|
||||
|
||||
{{% /notice %}}
|
||||
|
||||
#### Optional
|
||||
If you want you might move builded app somewhere else, feel free to run:
|
||||
```
|
||||
mv build/app/outputs/flutter-apk/app-arm64-v8a-release.apk ../rustdesk-release.apk
|
||||
```
|
@ -1,46 +0,0 @@
|
||||
---
|
||||
title: Android
|
||||
weight: 22
|
||||
---
|
||||
|
||||
{{% notice note %}}
|
||||
Este tutorial se basa en **Linux**, y suponiendo que eres **familiar** con [Android NDK](https://developer.android.com/ndk/downloads), [Rust](https://rustup.rs/) y [Flutter](https://flutter.dev/). Si no lo es, salte.
|
||||
{{% /notice %}}
|
||||
|
||||
## Compilar Rust
|
||||
```
|
||||
cd
|
||||
# Para ahorrar su tiempo y el nuestro, preparamos archivos dependientes para usted.
|
||||
wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/dep.tar.gz
|
||||
tar xzf dep.tar.gz
|
||||
# use r23c, el nuevo NDK tiene el siguiente problema
|
||||
# https://stackoverflow.com/questions/68873570/how-do-i-fix-ld-error-unable-to-find-library-lgcc-when-cross-compiling-rust
|
||||
wget https://dl.google.com/android/repository/android-ndk-r23c-linux.zip
|
||||
unzip android-ndk-r23c-linux.zip
|
||||
|
||||
# install ffigen and llvm
|
||||
dart pub global activate ffigen 5.0.1
|
||||
# en Ubuntu 18, es: sudo apt install libclang-9-dev
|
||||
sudo apt-get install libclang-dev
|
||||
|
||||
git clone https://github.com/rustdesk/rustdesk
|
||||
cd rustdesk
|
||||
rustup target add aarch64-linux-android
|
||||
|
||||
cargo install cargo-ndk
|
||||
|
||||
VCPKG_ROOT=$HOME/vcpkg ANDROID_NDK_HOME=$HOME/android-ndk-r23c flutter/ndk_arm64.sh
|
||||
```
|
||||
|
||||
## Compilar Flutter
|
||||
|
||||
```
|
||||
cd flutter
|
||||
wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/so.tar.gz
|
||||
tar xzf so.tar.gz
|
||||
cp ../target/aarch64-linux-android/release/liblibrustdesk.so android/app/src/main/jniLibs/arm64-v8a/librustdesk.so
|
||||
# Ejecute en su dispositivo Android, no es compatible con el simulador todavía (no pregunte por qué).
|
||||
# Buena suerte!
|
||||
# openjdk 11 requerido, no use más alto o más bajo, ambos tienen problemas
|
||||
flutter run
|
||||
```
|
@ -1,48 +0,0 @@
|
||||
---
|
||||
title: Android
|
||||
weight: 22
|
||||
---
|
||||
|
||||
{{% notice note %}}
|
||||
Ce tutoriel est basé sur **Linux**, et en supposant que vous êtes **familier** avec [Android NDK](https://developer.android.com/ndk/downloads), [Rust](https://rustup.rs/) et [Flutter](https://flutter.dev/). Si vous ne l'êtes pas, passez votre chemin.
|
||||
{{% /notice %}}
|
||||
|
||||
## Compiler Rust
|
||||
```
|
||||
cd
|
||||
# Pour gagner du temps et de notre temps, nous avons préparé des fichiers dépendants pour vous.
|
||||
wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/dep.tar.gz
|
||||
tar xzf dep.tar.gz
|
||||
# Veuillez utiliser r23c, le nouveau NDK a un problème voir lien ci-dessous
|
||||
# https://stackoverflow.com/questions/68873570/how-do-i-fix-ld-error-unable-to-find-library-lgcc-when-cross-compiling-rust
|
||||
wget https://dl.google.com/android/repository/android-ndk-r23c-linux.zip
|
||||
unzip android-ndk-r23c-linux.zip
|
||||
|
||||
# installez ffigen and llvm
|
||||
dart pub global activate ffigen 5.0.1
|
||||
# on Ubuntu 18, it is: sudo apt install libclang-9-dev
|
||||
sudo apt-get install libclang-dev
|
||||
sudo apt install gcc-multilib
|
||||
|
||||
git clone https://github.com/rustdesk/rustdesk
|
||||
cd rustdesk
|
||||
rustup target add aarch64-linux-android
|
||||
|
||||
cargo install cargo-ndk
|
||||
|
||||
VCPKG_ROOT=$HOME/vcpkg ANDROID_NDK_HOME=$HOME/android-ndk-r23c flutter/ndk_arm64.sh
|
||||
```
|
||||
|
||||
## Compiler Flutter
|
||||
|
||||
```
|
||||
cd flutter
|
||||
wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/so.tar.gz
|
||||
tar xzf so.tar.gz
|
||||
cp ../target/aarch64-linux-android/release/liblibrustdesk.so android/app/src/main/jniLibs/arm64-v8a/librustdesk.so
|
||||
|
||||
# A exécuter sur votre appareil Android, ne pas demander pourquoi ceci ne fonctionne pas toujours avec les émulateurs android!
|
||||
# OpenJDK 11 requis ni avant, ni après, sinon il y aura un problème
|
||||
# Bonne chance!
|
||||
flutter run
|
||||
```
|
@ -1,6 +0,0 @@
|
||||
---
|
||||
title: Android
|
||||
weight: 22
|
||||
---
|
||||
|
||||
[English](/docs/en/dev/build/android)
|
@ -1,6 +0,0 @@
|
||||
---
|
||||
title: Android
|
||||
weight: 22
|
||||
---
|
||||
|
||||
[English](/docs/en/dev/build/android)
|
@ -1,218 +0,0 @@
|
||||
---
|
||||
title: Android
|
||||
weight: 22
|
||||
---
|
||||
|
||||
{{% notice note %}}
|
||||
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
|
||||
```
|
||||
sudo apt install ca-certificates -y
|
||||
sudo apt update -y
|
||||
sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang cmake libclang-dev ninja-build llvm-dev libclang-10-dev llvm-10-dev pkg-config
|
||||
```
|
||||
### Flutter Rust Bridge afhankelijkheden 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:
|
||||
|
||||
```
|
||||
~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart
|
||||
```
|
||||
|
||||
Als alles gelukt is, zou u zoiets als dit in uw terminalvenster moeten zien:
|
||||
```yaml
|
||||
2023/02/27 20:44:39 [INFO] Success!
|
||||
2023/02/27 20:44:39 [INFO] Now go and use it :)
|
||||
```
|
||||
|
||||
## RustDesk bouwen voor Android 📱
|
||||
|
||||
### Installatie van afhankelijkheden
|
||||
|
||||
Bij deze stap heeft u misschien wat extra afhankelijkheden nodig, die kunt u installeren door dit uit te voeren:
|
||||
```
|
||||
sudo apt update -y
|
||||
sudo apt-get -qq install -y git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake libclang-dev ninja-build libappindicator3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libvdpau-dev libva-dev libclang-dev llvm-dev libclang-10-dev llvm-10-dev pkg-config tree g++ libc6-dev gcc-multilib g++-multilib openjdk-11-jdk-headless
|
||||
```
|
||||
Je moet misschien ook ffigen activeren
|
||||
```
|
||||
dart pub global activate ffigen 5.0.1
|
||||
```
|
||||
|
||||
### Extra afhankelijkheden downloaden
|
||||
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`
|
||||
|
||||
```
|
||||
pushd /opt
|
||||
sudo wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/dep.tar.gz
|
||||
sudo tar xzf dep.tar.gz
|
||||
popd
|
||||
```
|
||||
|
||||
#### Waarschuwing
|
||||
Het vereist dat de vcpkg map op `$HOME`, als het `Building rustdesk lib` deel van deze instructie fouten zal opleveren zoals:
|
||||
```yaml
|
||||
error: failed to run custom build command for `magnum-opus v0.4.0 (https://github.com/rustdesk/magnum-opus#79be072c)`
|
||||
|
||||
Caused by:
|
||||
process didn't exit successfully: `/home/user/rustdesk/target/release/build/magnum-opus-05dc0023b86da8fc/build-script-build` (exit status: 101)
|
||||
--- stdout
|
||||
cargo:info=arm64-android
|
||||
cargo:rustc-link-lib=static=opus
|
||||
cargo:rustc-link-search=/home/user/vcpkg/installed/arm64-android/lib
|
||||
cargo:include=/home/user/vcpkg/installed/arm64-android/include
|
||||
rerun-if-changed=/home/user/.cargo/git/checkouts/magnum-opus-4bb999f3bcbf6ab0/79be072/opus_ffi.h
|
||||
rerun-if-changed=/home/user/vcpkg/installed/arm64-android/include
|
||||
```
|
||||
Overweeg de installatie van `vcpkg` in je home map, en voer je het uit:
|
||||
```
|
||||
pushd $HOME
|
||||
sudo wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/dep.tar.gz
|
||||
sudo tar xzf dep.tar.gz
|
||||
popd
|
||||
```
|
||||
|
||||
### Het uitschakelen van Flutter Rust Bridge build
|
||||
Mogelijk moet u de build van Flutter Rust Bridge uitschakelen vanuit het bestand `build.rs`, u kunt dit doen door onderstaand uit te voeren:
|
||||
```
|
||||
sed -i "s/gen_flutter_rust_bridge();/\/\//g" build.rs
|
||||
```
|
||||
|
||||
### Bouwen rustdesk lib
|
||||
In deze stap bouwt u het bestand `librustdesk.so`
|
||||
|
||||
Voeg eerst triplet toe aan rust:
|
||||
```
|
||||
rustup target add aarch64-linux-android
|
||||
```
|
||||
|
||||
Installeer daarna`cargo-ndk` het is nodig om `librustdesk.so` te genereren
|
||||
|
||||
```
|
||||
cargo install cargo-ndk
|
||||
```
|
||||
|
||||
Nu is het tijd om `ndk_arm64.sh` te draaien, dit script bevat code die Rust bouwt voor Flutter, het vereist `NDK` in versie `r23c`.
|
||||
|
||||
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.
|
||||
|
||||
Vergeet niet de **ANDROID_NDK_HOME** variabele en kijk of deze geldig is
|
||||
|
||||
Voer dan gewoon uit:
|
||||
```
|
||||
./flutter/ndk_arm64.sh
|
||||
```
|
||||
|
||||
### Aangemaakte bibliotheek verplaatsen naar jniLibs map
|
||||
Als je `librustdesk.so` hebt aangemaakt, maak dan de juiste map aan:
|
||||
```
|
||||
mkdir -p ./flutter/android/app/src/main/jniLibs/arm64-v8a
|
||||
```
|
||||
En kopieer het gewoon daarheen
|
||||
```
|
||||
cp ./target/aarch64-linux-android/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/arm64-v8a/librustdesk.so
|
||||
```
|
||||
|
||||
### RustDesk Bouwen
|
||||
Het is de laatste stap, nu ga je jouw versie van RustDesk apk bouwen.
|
||||
|
||||
Als je alles goed hebt gedaan kun je het gemakkelijk bouwen.
|
||||
|
||||
Eerst moet je het volgende downloaden `so.tar.gz`
|
||||
```
|
||||
pushd flutter
|
||||
sudo wget -O so.tar.gz https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/so.tar.gz
|
||||
```
|
||||
Pak het dan uit
|
||||
```
|
||||
tar xzvf so.tar.gz
|
||||
popd
|
||||
```
|
||||
We gebruiken tijdelijk debug sign config
|
||||
|
||||
```
|
||||
sed -i "s/signingConfigs.release/signingConfigs.debug/g" ./flutter/android/app/build.gradle
|
||||
```
|
||||
Dan moet u het volgende `librustdesk.so` bestand in de juiste map plaatsen
|
||||
```
|
||||
mkdir -p ./flutter/android/app/src/main/jniLibs/arm64-v8a
|
||||
cp ./target/aarch64-linux-android/release/liblibrustdesk.so ./flutter/android/app/src/main/jniLibs/arm64-v8a/librustdesk.so
|
||||
```
|
||||
Nu gaan we eindelijk Flutter bouwen
|
||||
```
|
||||
pushd flutter
|
||||
flutter build apk --release --target-platform android-arm64 --split-per-abi
|
||||
```
|
||||
{{% notice note %}}
|
||||
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:
|
||||
```
|
||||
mv build/app/outputs/flutter-apk/app-arm64-v8a-release.apk ../rustdesk-release.apk
|
||||
```
|
@ -1,6 +0,0 @@
|
||||
---
|
||||
title: Android
|
||||
weight: 22
|
||||
---
|
||||
|
||||
[English](/docs/en/dev/build/android)
|
@ -1,45 +0,0 @@
|
||||
---
|
||||
title: Android
|
||||
weight: 22
|
||||
---
|
||||
|
||||
{{% notice note %}}
|
||||
Это руководство основано на **Linux**, и предполагается, что вы **знакомы** с [Android NDK](https://developer.android.com/ndk/downloads), [Rust](https://rustup.rs/) и [Flutter](https://flutter.dev/). Если это не так, пожалуйста, пропустите.
|
||||
{{% /notice %}}
|
||||
|
||||
## Сборка на Rust
|
||||
```
|
||||
cd
|
||||
# Для экономии вашего и нашего времени мы подготовили для вас файлы зависимостей.
|
||||
wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/dep.tar.gz
|
||||
tar xzf dep.tar.gz
|
||||
# пожалуйста, используйте r23c, у нового NDK имеется следующая проблема
|
||||
# https://stackoverflow.com/questions/68873570/how-do-i-fix-ld-error-unable-to-find-library-lgcc-when-cross-compiling-rust
|
||||
wget https://dl.google.com/android/repository/android-ndk-r23c-linux.zip
|
||||
unzip android-ndk-r23c-linux.zip
|
||||
|
||||
# установка ffigen и llvm
|
||||
dart pub global activate ffigen
|
||||
sudo apt-get install libclang-dev
|
||||
|
||||
git clone https://github.com/rustdesk/rustdesk
|
||||
cd rustdesk
|
||||
rustup target add aarch64-linux-android
|
||||
|
||||
cargo install cargo-ndk
|
||||
|
||||
VCPKG_ROOT=$HOME/vcpkg ANDROID_NDK_HOME=$HOME/android-ndk-r23c flutter/ndk_arm64.sh
|
||||
```
|
||||
|
||||
## Сборка на Flutter
|
||||
|
||||
```
|
||||
cd flutter
|
||||
wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/so.tar.gz
|
||||
tar xzf so.tar.gz
|
||||
cp ../target/aarch64-linux-android/release/liblibrustdesk.so android/app/src/main/jniLibs/arm64-v8a/librustdesk.so
|
||||
# Запустите на своем устройстве Android, симулятор пока не поддерживается (Пожалуйста, не спрашивайте, почему).
|
||||
# Требуется openjdk 11, не используйте более высокие или более низкие версии, у них есть проблемы.
|
||||
# Удачи!
|
||||
flutter run
|
||||
```
|
@ -1,46 +0,0 @@
|
||||
---
|
||||
title: 安卓
|
||||
weight: 22
|
||||
---
|
||||
|
||||
{{% notice note %}}
|
||||
本教程基于**Linux**,假设您**熟悉** [Android NDK](https://developer.android.com/ndk/downloads)、[Rust](https://rustup.rs/) 和 [Flutter](https://flutter.dev/)。 如果你是初学者,可能比较费劲。
|
||||
{{% /notice %}}
|
||||
|
||||
## 构建 Rust
|
||||
```
|
||||
cd
|
||||
# For saving your time and our time, we prepared dependent files for you.
|
||||
wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/dep.tar.gz
|
||||
tar xzf dep.tar.gz
|
||||
# please use r23c, new NDK has below problem
|
||||
# https://stackoverflow.com/questions/68873570/how-do-i-fix-ld-error-unable-to-find-library-lgcc-when-cross-compiling-rust
|
||||
wget https://dl.google.com/android/repository/android-ndk-r23c-linux.zip
|
||||
unzip android-ndk-r23c-linux.zip
|
||||
|
||||
# install ffigen and llvm
|
||||
dart pub global activate ffigen 5.0.1
|
||||
# on Ubuntu 18, it is: sudo apt install libclang-9-dev
|
||||
sudo apt-get install libclang-dev
|
||||
|
||||
git clone https://github.com/rustdesk/rustdesk
|
||||
cd rustdesk
|
||||
rustup target add aarch64-linux-android
|
||||
|
||||
cargo install cargo-ndk
|
||||
|
||||
VCPKG_ROOT=$HOME/vcpkg ANDROID_NDK_HOME=$HOME/android-ndk-r23c flutter/ndk_arm64.sh
|
||||
```
|
||||
|
||||
## 构建 Flutter
|
||||
|
||||
```
|
||||
cd flutter
|
||||
wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/so.tar.gz
|
||||
tar xzf so.tar.gz
|
||||
cp ../target/aarch64-linux-android/release/liblibrustdesk.so android/app/src/main/jniLibs/arm64-v8a/librustdesk.so
|
||||
# Run on your android device, not support simulator yet (Please do not ask why).
|
||||
# Good Luck!
|
||||
# openjdk 11 required, do not use higher or lower, both has problem
|
||||
flutter run
|
||||
```
|
@ -1,46 +0,0 @@
|
||||
---
|
||||
title: Android
|
||||
weight: 22
|
||||
---
|
||||
|
||||
{{% notice note %}}
|
||||
本教程基於**Linux**,假設您**熟悉** [Android NDK](https://developer.android.com/ndk/downloads)、[Rust](https://rustup.rs/) 和 [Flutter](https://flutter.dev/)。如果你是初學者,可能比較費勁。
|
||||
{{% /notice %}}
|
||||
|
||||
## 構建 Rust
|
||||
```
|
||||
cd
|
||||
# For saving your time and our time, we prepared dependent files for you.
|
||||
wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/dep.tar.gz
|
||||
tar xzf dep.tar.gz
|
||||
# please use r23c, new NDK has below problem
|
||||
# https://stackoverflow.com/questions/68873570/how-do-i-fix-ld-error-unable-to-find-library-lgcc-when-cross-compiling-rust
|
||||
wget https://dl.google.com/android/repository/android-ndk-r23c-linux.zip
|
||||
unzip android-ndk-r23c-linux.zip
|
||||
|
||||
# install ffigen and llvm
|
||||
dart pub global activate ffigen 5.0.1
|
||||
# on Ubuntu 18, it is: sudo apt install libclang-9-dev
|
||||
sudo apt-get install libclang-dev
|
||||
|
||||
git clone https://github.com/rustdesk/rustdesk
|
||||
cd rustdesk
|
||||
rustup target add aarch64-linux-android
|
||||
|
||||
cargo install cargo-ndk
|
||||
|
||||
VCPKG_ROOT=$HOME/vcpkg ANDROID_NDK_HOME=$HOME/android-ndk-r23c flutter/ndk_arm64.sh
|
||||
```
|
||||
|
||||
## 構建 Flutter
|
||||
|
||||
```
|
||||
cd flutter
|
||||
wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/so.tar.gz
|
||||
tar xzf so.tar.gz
|
||||
cp ../target/aarch64-linux-android/release/liblibrustdesk.so android/app/src/main/jniLibs/arm64-v8a/librustdesk.so
|
||||
# Run on your android device, not support simulator yet (Please do not ask why).
|
||||
# Good Luck!
|
||||
# openjdk 11 required, do not use higher or lower, both has problem
|
||||
flutter run
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user