最新動態(tài)

Docker構建私有云手機環(huán)境,創(chuàng)建個人社交圈

2024-12-17
系統(tǒng)介紹

云手機(Cloudphone)是一種深度融合了網絡服務的智能手機。其工作原理是運用云計算技術于網絡終端服務,并通過云服務器實現(xiàn)云服務功能。

云手機的核心基于云計算與虛擬化技術。具體來說,它涉及以下幾個關鍵點:

    云服務器:云手機的基礎是云服務器,這些服務器提供高性能計算與存儲資源。華為云等服務商為云手機提供服務,確保高可用性、彈性伸縮和安全保障。這些服務器不僅提供云手機的運行環(huán)境,還處理云手機的所有數(shù)據(jù)和操作。

    數(shù)據(jù)存儲與處理:用戶的手機數(shù)據(jù),包括應用、文件、照片等,都儲存在云端。當用戶通過手機或其他終端訪問云手機時,所有數(shù)據(jù)處理和操作都在云端完成。這意味著,用戶實際操作的是運行在云端的虛擬手機,而非本地實體手機。

    遠程管理與控制:用戶可以通過云終端或命令行界面遠程控制云手機,包括開關機、重啟、備份、恢復等操作。此外,用戶還可以通過云端應用對云手機進行管理和控制,例如查看文件、發(fā)送消息、通話等。這種遠程管理和控制的能力使得云手機可以在任何時間和地點被訪問和使用。

    虛擬化技術:虛擬化技術是實現(xiàn)云手機的關鍵。通過虛擬化技術,云服務器可以創(chuàng)建多個獨立的虛擬手機環(huán)境,每個環(huán)境共享同一套物理資源。這使得多個用戶可以同時使用云手機,而不必擔心資源沖突或數(shù)據(jù)安全問題。

開源項目
云手機可利用Docker搭建,目前開源的云手機項目有docker-android和redroid-doc,它們的GitHub地址如下:
docker-android
https://github.com/budtmo/docker-android
redroid-doc
https://github.com/remote-android/redroid-doc

搭建方案1
使用docker-android搭建云手機需要服務器支持虛擬化,例如在Windows上,可以安裝虛擬機軟件VMware Workstation,創(chuàng)建Ubuntu虛擬機,并啟用虛擬化功能,如下圖所示:

進入Ubuntu虛擬機后,輸入以下指令檢查虛擬化是否已啟用:
sudo apt install cpu-checker
sudo kvm-ok

下一步通過Docker創(chuàng)建云手機,指令如下:

sudo docker run -d -p 6080:6080 \

   -e EMULATOR_DEVICE="Samsung Galaxy S10" \

   -e WEB_VNC=true --device /dev/kvm \

   --name android-container budtmo/docker-android:emulator_11.0

當指令執(zhí)行完成后,在瀏覽器中訪問ip:6080即可。

搭建方案2

使用redroid-doc搭建云手機需要安裝必要的內核模塊,在Ubuntu虛擬機中執(zhí)行以下指令:

# 切換到root賬號
sudo su
# 安裝內核模塊
apt install linux-modules-extra-`uname -r`
modprobe binder_linux devices="binder,hwbinder,vndbinder"
modprobe ashmem_linux

下一步通過Docker創(chuàng)建云手機,指令如下:

sudo docker run -itd --rm --privileged \
--pull always \
-v ~/data:/data \
-p 5555:5555 \
redroid/redroid:11.0.0-latest

指令執(zhí)行完成后,需要借助Scrcpy工具連接云手機,詳細安裝教程可以參考以下文章:

安裝Scrcpy
大中小黃,公眾號:幼稚猿一款開源安卓投屏軟件,沉浸式刷視頻玩游戲

Scrcpy安裝后,打開終端窗口并將終端窗口路徑切換到Scrcpy所在目錄,輸入以下指令即可連接云手機:

# 通過adb連接虛擬機Ubuntu的IP:5555
adb connect IP:5555
# Scrcpy連接虛擬機Ubuntu的IP:5555
scrcpy -s IP:5555

總結
從用戶體驗來看,docker-android界面和初始軟件較為全面,但使用時略顯卡頓;而redroid-doc界面較為簡潔,使用上相對流暢。

關注公眾號,獲取更多精彩內容!

更多內容可參閱筆者出版圖書!