PTT推薦

[討論] 架設一台專屬自己的雲手機

看板MobileComm標題[討論] 架設一台專屬自己的雲手機作者
ivon852
(內容農場殺手)
時間推噓49 推:49 噓:0 →:13

在家中自架雲手機並遠端存取的方案。

成果之一,透過Android手機存取遠端樹莓派上的Android
https://i.imgur.com/LmmnfNU.jpg

圖 架設一台專屬自己的雲手機

成果之二,透過iPhone手機遠端存取電腦上的Android遊戲。
https://i.imgur.com/5sAdFm0.jpg
圖 架設一台專屬自己的雲手機

為免文章內容變空談,文末我附上兩種取向的Android雲手機實作教學。


雲手機自架的理由?

市面上的雲手機,多半是向一間公司購買運算資源的訂閱制服務,跟PC上的串流遊戲十分類似。主要是讓使用者方便掛機,或者使用較弱的終端遊玩需要高級硬體的手機遊戲。

雲手機可不可以自架?當然可以,擺脫商業雲手機設下的種種使用規定。

你說用TeamViewer再加上Bluestacks,不就可以遠端玩
遊戲了嗎?是這樣沒錯,但是我想要類似市面上雲手機的操作模式又可以擺脫商業軟體,故尋求Bluestacks模擬器以外的替代方案。

並且我不想讓雲手機只侷限在Windows系統上,我要讓Linux也可以架起雲手機。

故我的方案以Linux為主,並善用Linux上的開源Android模擬器方案。

此處的Linux指的是Ubuntu、Fedora、Arch Linux、openSUSE這種的,不包含ChromeOS。

x86與ARM架構電腦的抉擇

雲手機就是要架在電腦伺服器上的,才可以永遠在線上。

不考慮「把一支現有手機拔電池改造成雲手機」的土砲作法,焊電容太難了呀。

先別想租伺服器,就用手上的零件開工吧。

x86好處是易取得,現有電腦改裝就行。x86效能好,方便擴充硬體,多開遊戲方便。x86電腦加上獨顯效能秒殺市面上所有手機。但是x86主機很耗電,遇到ARM架構的APP也容易有相容性問題。

ARM好處耗能低,且與主流ARM架構的APK相容性佳,部份ARM電腦甚至可以直接跑起
Android系統,而不用借助模擬器。

但是ARM裝置效能多半較差,不可能多開。市面上一般人可以入手,又能裝Linux的ARM電腦最好就RK3588開發板了,處理器效能也頂多在Android中階手機的水準而已!

(買Apple M1 Max來架雲手機的也許可以喔?至於RISC-V架構的Android還在宇宙飄,再等等。)


Linux的Android模擬器方案

論要如何在Linux跑Android,路子有:

- x86電腦直接裝Android-x86 (Bliss OS)
- x86電腦裝Linux再跑Android模擬器
- ARM電腦直接裝Android
- ARM電腦裝Linux再跑Android模擬器

其中,Linux的Android模擬器有以下方案:

- ReDroid:基於Docker技術
- Android-x86虛擬機:基於QEMU/KVM技術,x86平台限定。
- Waydroid:基於LXC技術
- Android Studio AVD:Google開發的模擬器,基於QEMU/KVM技術,x86平台限定。
- Genymotion:商業Android模擬器,基於QEMU/KVM技術,x86平台限定。


如何讓電腦可以從外網存取

內網穿透軟體:如ZeroTier、TailScale、NetBird

代理伺服器:如Cloudflare Tunnel、Ngrok

還有手動設定通訊埠轉發,再搭配No IP的DDNS的作法。


遠端控制電腦的開源軟體

Moonlight+Sunshine:投影整部電腦的螢幕,串流能力佳

Scrcpy:只投影Android系統畫面的螢幕

RustDesk:投影整部電腦的螢幕,或者只投影Android系統畫面的螢幕


實作

基於x86電腦的方案
https://bit.ly/3y6KfRx

暴力簡單的ARM樹莓派方案
https://bit.ly/3y993bA

--
https://i.imgur.com/KQbyqNf.jpg https://i.imgur.com/uZAFfTb.jpg

圖 架設一台專屬自己的雲手機
圖 架設一台專屬自己的雲手機
https://i.imgur.com/FTZwiKG.jpg https://i.imgur.com/RAftQ68.jpg
圖 架設一台專屬自己的雲手機
圖 架設一台專屬自己的雲手機
https://i.imgur.com/vZSP2Of.jpg https://i.imgur.com/rwYYqGG.jpg
圖 架設一台專屬自己的雲手機
圖 架設一台專屬自己的雲手機
https://i.imgur.com/nAcnYxx.png https://i.imgur.com/peEPofk.jpg
圖 架設一台專屬自己的雲手機
圖 架設一台專屬自己的雲手機
https://i.imgur.com/AjIK9tk.jpg https://i.imgur.com/1jx3EJj.jpg
圖 架設一台專屬自己的雲手機
圖 架設一台專屬自己的雲手機

--

※ PTT留言評論
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.195.182 (臺灣)
PTT 網址

ClixTW 05/11 04:28滿有趣的思路,但Moonlight支援多點觸控嗎?

即使不行應該還可以用虛擬手把

elcomcc 05/11 06:48實作,給推

doubi 05/11 07:37厲害

zerg2150 05/11 07:48強者

zhuyun32145605/11 08:13太厲害了

xoyster 05/11 08:14

Yanten 05/11 08:27樹莓方案好用,小小一台掛機也方便

Lesterz 05/11 08:28

judd 05/11 08:57請問這樣的組合有比TeamViewer 加BS好嗎?

論無腦程度還是Bluestacks最好,其他有點吃技術。我是覺得起碼TeamViewer可以換成 沒有使用限制的RustDesk。

issemn 05/11 08:59我只會RustDesk加BS,其他太難了

Two4 05/11 09:25推~

dadanyellow 05/11 09:27先推再說...

wallholla 05/11 09:40

simpson083 05/11 09:54有實作思路有推 不過我還是用GFN

GFN是玩電腦遊戲吧

Xixiaofan 05/11 10:30

gaiaesque 05/11 11:52

WLR 05/11 11:56推技術文

darkholy 05/11 12:13技術含量極高的文章

tomsawyer 05/11 12:19你想擺脫商業軟體 但x86轉arm擺脫不了libhoudini

tomsawyer 05/11 12:19一但沒得從wsa白嫖 就可以宣告破產了

轉譯器確實是必要之惡。沒關係我們還有libndk可以蹭(X

Liangyi816 05/11 12:42

ts00422832 05/11 13:16看不懂推

d030b 05/11 13:19感謝分享

jaspergod 05/11 13:30好猛...學不來

※ 編輯: ivon852 (36.236.198.253 臺灣), 05/11/2024 13:48:52

keigowei 05/11 13:52好厲害 趕快推 …(雖然看不懂在忙什麼)

brefey 05/11 14:01讚耶

whhw 05/11 14:13

yitea 05/11 14:15推,看一半,我學不來

Bencrie 05/11 14:16用 container 的不算模擬器吧

嗯啊,比較好理解的術語而已

Bencrie 05/11 14:26然後你要用 x86 container 方案的話最好別用 NV

Nvidia真的蠻糟糕的

longkiss061805/11 14:44大師

kanding255 05/11 15:26

chuxchu 05/11 16:36有app禁止VPN 可透過雲手機實現異地連線嗎

不確定問題為何,如果沒有VPN要組異地連線那我想只能用port forwarding?

s78513221 05/11 16:40其實雷電模擬器+OSLINK已經很好用了

tomsawyer 05/11 17:02算是半個模擬器(emulator) 因為碰到abi只有arm的apk

tomsawyer 05/11 17:03時,你還是要轉譯層才會動

tomsawyer 05/11 17:06而且轉譯器都是偷幹別人的東西 所以不包含在安裝檔

tomsawyer 05/11 17:07得自己手裝

bunnystar 05/11 19:40專業!給推

xru03 05/11 20:39

Bencrie 05/11 21:17是說 houdini 也沒有保證完美轉譯。app 會不會動

Bencrie 05/11 21:17還是要實際跑過才知道。

idletime 05/11 22:11值得一看 來收藏

dreamful 05/11 22:59好文

utn875 05/11 23:04讚讚

icexyz 05/11 23:23跟我想得一樣(並沒有

lem1 05/12 01:02想請問,要是電腦有線跟無線網卡常常交互使用,用

lem1 05/12 01:02sunshine 要如何開 port 讓不在家的時候不管電腦是

如果你使用ZeroTier,任何網路的界面都可以連線到port

lem1 05/12 01:02使用有線或無線網卡都可以順利遠端呢?

ZeroTier服務開著它應該會自己變換。

thaleschou 05/12 03:18血汗推

※ 編輯: ivon852 (36.236.198.253 臺灣), 05/12/2024 05:31:54

paul40807 05/12 06:45哇好頂 這個真的是燃燒成就感的XD

lem1 05/12 09:56感謝,該試用看看了!

asunal 05/12 14:23請問雲手機的操作延遲如何?

asunal 05/12 14:23延遲會不會很高

asunal 05/12 14:23之前用過anydesk從有線網路連回家裡的舊手機延遲還

asunal 05/12 14:23是很高

asunal 05/12 14:23玩卡牌跟塔防遊戲都不太順手

是的,沒有商業優化過的方案延遲不太理想,所以掛機較為實用。Moonlight可能是延遲最 小的。

ben1357956 05/12 18:08強者推

stark5566 05/12 20:19u文,推

HowLeeHi 05/12 21:34讚讚

A4P8T6X9 05/12 22:52

oscarnevan 05/13 05:57真通訊文

※ 編輯: ivon852 (36.236.163.253 臺灣), 05/13/2024 21:33:08