이제 모든 정보를 종합해서 RustDesk의 안드로이드와 윈도우 빌드 방법을 알려드리겠습니다.
RustDesk는 오픈소스 원격 제어 소프트웨어로, 자체 호스팅이 가능한 TeamViewer 대안입니다. 안드로이드와 윈도우용 빌드 방법은 다음과 같습니다.

윈도우 빌드 방법
- 필수 종속성 설치:
- C++ 빌드 환경:
- MSVC(Microsoft Visual Studio)를 다운로드하고 설치합니다.
- “Windows”를 개발자 머신 OS로 선택하고 “C++”를 체크한 다음 Visual Studio Community 버전을 다운로드하여 설치합니다.
- Rust 개발 환경:
- rustup-init.exe를 다운로드하고 관리자로 실행하여
rust
를 설치합니다.
- rustup-init.exe를 다운로드하고 관리자로 실행하여
- vcpkg 설치:
- Git Bash를 사용하여 다음 명령을 실행합니다:
git clone https://github.com/microsoft/vcpkg vcpkg/bootstrap-vcpkg.bat export VCPKG_ROOT=$PWD/vcpkg vcpkg/vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
- 시스템 환경 변수
VCPKG_ROOT
=<path>\vcpkg
를 추가합니다 (여기서<path>
는 위에서 선택한 vcpkg 클론 위치입니다).
- Sciter:
- 데스크톱 버전은 GUI로 Sciter를 사용합니다. sciter.dll을 다운로드합니다.
- LLVM:
rust-bindgen
은clang
에 의존합니다. LLVM을 다운로드하고 설치한 다음, 시스템 환경 변수LIBCLANG_PATH
=<llvm_install_dir>/bin
을 추가합니다.
- 빌드:
git clone --recurse-submodules https://github.com/rustdesk/rustdesk
cd rustdesk
mkdir -p target/debug
wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll
mv sciter.dll target/debug
cargo run
안드로이드 빌드 방법
안드로이드 빌드는 다음 단계가 필요합니다:
- 필수 도구 설치:
- Flutter 개발 환경 구성
- Rust와 Cargo
- Android NDK
- vcpkg
- 빌드 절차: 1. 저장소 클론:
git clone --recurse-submodules https://github.com/rustdesk/rustdesk
cd rustdesk
2. vcpkg 설치:
git clone https://github.com/microsoft/vcpkg
cd vcpkg
git checkout 2023.04.15
./bootstrap-vcpkg.sh
export VCPKG_ROOT=$HOME/vcpkg
./vcpkg install libvpx libyuv opus aom
3. Android NDK 설치:
Android Studio에서 Android NDK를 설치하거나 직접 다운로드할 수 있습니다. 환경 변수 설정:
export ANDROID_NDK_HOME=/path/to/your/android-ndk
4. Flutter 준비:
cd rustdesk/flutter
flutter clean
flutter pub get
5. Flutter-Rust 브릿지 생성:
cd rustdesk
cargo install --path .
RUST_LOG=debug flutter_rust_bridge_codegen --rust-input src/mobile_ffi.rs --dart-output flutter/lib/generated_bridge.dart
6. 안드로이드 빌드:
cd flutter
# 특정 ABI만 빌드하려면 (예: arm64-v8a)
flutter build apk --target-platform android-arm64 --release
# 또는 모든 ABI를 위한 빌드
flutter build apk --release
7. 빌드 스크립트 사용:
RustDesk 저장소의 빌드 스크립트를 사용하여 더 쉽게 빌드할 수도 있습니다:
cd rustdesk/flutter
# 릴리스 빌드
bash build_android.sh
# 또는 디버그 빌드
MODE=debug bash build_android.sh
주의사항
- Android 빌드시 일반적인 문제:
- Flutter와 Rust 버전 호환성 문제가 발생할 수 있습니다.
- NDK 버전이 호환되지 않을 수 있습니다. 최신 문서를 확인하여 호환되는 NDK 버전을 사용하세요.
- 빌드 실패 시 일부 종속성 문제를 해결하기 위해 “flutter/build_android_deps.sh” 스크립트를 실행해보세요.
- 패키지 이름 수정:
- 안드로이드에서 패키지 이름을 변경하려면 flutter/android/app/build.gradle과 AndroidManifest.xml 파일에서 기본 패키지 이름 “com.carriez.flutter_hbb”를 수정해야 합니다.
- 서버 설정:
- 커스텀 서버를 사용하려면 빌드 전에 환경 변수를 설정하거나 소스 코드에서 서버 주소를 직접 수정해야 합니다.
종합 정보
RustDesk 프로젝트는 지속적으로 업데이트되므로, 최신 빌드 지침은 공식 GitHub 저장소와 문서를 확인하는 것이 좋습니다. 특히 안드로이드 빌드는 Flutter 환경과 Rust의 교차 컴파일 설정이 필요하기 때문에 복잡할 수 있습니다.
최신 릴리스에서는 Flutter로 UI를 구현하고 있으며, 기본 빌드 방식이 변경되었을 수 있으므로 공식 저장소의 최신 문서를 확인하는 것이 중요합니다.