作者ivon852 (內容農場殺手)
看板MobileComm
標題[討論] 架設一台專屬自己的雲手機
時間Sat May 11 01:52:07 2024
在家中自架雲手機並遠端存取的方案。
成果之一,透過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.cc), 來自: 36.236.195.182 (臺灣)
※ 文章網址: https://webptt.com/m.aspx?n=bbs/MobileComm/M.1715363532.A.456.html
1F:推 ClixTW : 滿有趣的思路,但Moonlight支援多點觸控嗎? 05/11 04:28
即使不行應該還可以用虛擬手把
2F:推 elcomcc : 實作,給推 05/11 06:48
3F:推 doubi : 厲害 05/11 07:37
4F:推 zerg2150 : 強者 05/11 07:48
5F:推 zhuyun321456: 太厲害了 05/11 08:13
6F:推 xoyster : 強 05/11 08:14
7F:推 Yanten : 樹莓方案好用,小小一台掛機也方便 05/11 08:27
8F:推 Lesterz : 強 05/11 08:28
9F:推 judd : 請問這樣的組合有比TeamViewer 加BS好嗎? 05/11 08:57
論無腦程度還是Bluestacks最好,其他有點吃技術。我是覺得起碼TeamViewer可以換成
沒有使用限制的RustDesk。
10F:推 issemn : 我只會RustDesk加BS,其他太難了 05/11 08:59
11F:推 Two4 : 推~ 05/11 09:25
12F:推 dadanyellow : 先推再說... 05/11 09:27
13F:推 wallholla : 推 05/11 09:40
14F:推 simpson083 : 有實作思路有推 不過我還是用GFN 05/11 09:54
GFN是玩電腦遊戲吧
15F:推 Xixiaofan : 推 05/11 10:30
16F:推 gaiaesque : 05/11 11:52
17F:推 WLR : 推技術文 05/11 11:56
18F:推 darkholy : 技術含量極高的文章 05/11 12:13
19F:→ tomsawyer : 你想擺脫商業軟體 但x86轉arm擺脫不了libhoudini 05/11 12:19
20F:→ tomsawyer : 一但沒得從wsa白嫖 就可以宣告破產了 05/11 12:19
轉譯器確實是必要之惡。沒關係我們還有libndk可以蹭(X
21F:推 Liangyi816 : 推 05/11 12:42
22F:推 ts00422832 : 看不懂推 05/11 13:16
23F:推 d030b : 感謝分享 05/11 13:19
24F:推 jaspergod : 好猛...學不來 05/11 13:30
※ 編輯: ivon852 (36.236.198.253 臺灣), 05/11/2024 13:48:52
25F:推 keigowei : 好厲害 趕快推 …(雖然看不懂在忙什麼) 05/11 13:52
26F:推 brefey : 讚耶 05/11 14:01
27F:推 whhw : 推 05/11 14:13
28F:推 yitea : 推,看一半,我學不來 05/11 14:15
29F:推 Bencrie : 用 container 的不算模擬器吧 05/11 14:16
嗯啊,比較好理解的術語而已
30F:推 Bencrie : 然後你要用 x86 container 方案的話最好別用 NV 05/11 14:26
Nvidia真的蠻糟糕的
31F:推 longkiss0618: 大師 05/11 14:44
32F:推 kanding255 : 優 05/11 15:26
33F:推 chuxchu : 有app禁止VPN 可透過雲手機實現異地連線嗎 05/11 16:36
不確定問題為何,如果沒有VPN要組異地連線那我想只能用port forwarding?
34F:推 s78513221 : 其實雷電模擬器+OSLINK已經很好用了 05/11 16:40
35F:→ tomsawyer : 算是半個模擬器(emulator) 因為碰到abi只有arm的apk 05/11 17:02
36F:→ tomsawyer : 時,你還是要轉譯層才會動 05/11 17:03
37F:→ tomsawyer : 而且轉譯器都是偷幹別人的東西 所以不包含在安裝檔 05/11 17:06
38F:→ tomsawyer : 得自己手裝 05/11 17:07
39F:推 bunnystar : 專業!給推 05/11 19:40
40F:推 xru03 : 推 05/11 20:39
41F:推 Bencrie : 是說 houdini 也沒有保證完美轉譯。app 會不會動 05/11 21:17
42F:→ Bencrie : 還是要實際跑過才知道。 05/11 21:17
43F:推 idletime : 值得一看 來收藏 05/11 22:11
44F:推 dreamful : 好文 05/11 22:59
45F:推 utn875 : 讚讚 05/11 23:04
46F:推 icexyz : 跟我想得一樣(並沒有 05/11 23:23
47F:推 lem1 : 想請問,要是電腦有線跟無線網卡常常交互使用,用 05/12 01:02
48F:→ lem1 : sunshine 要如何開 port 讓不在家的時候不管電腦是 05/12 01:02
如果你使用ZeroTier,任何網路的界面都可以連線到port
49F:→ lem1 : 使用有線或無線網卡都可以順利遠端呢? 05/12 01:02
ZeroTier服務開著它應該會自己變換。
50F:推 thaleschou : 血汗推 05/12 03:18
※ 編輯: ivon852 (36.236.198.253 臺灣), 05/12/2024 05:31:54
51F:推 paul40807 : 哇好頂 這個真的是燃燒成就感的XD 05/12 06:45
52F:推 lem1 : 感謝,該試用看看了! 05/12 09:56
53F:推 asunal : 請問雲手機的操作延遲如何? 05/12 14:23
54F:→ asunal : 延遲會不會很高 05/12 14:23
55F:→ asunal : 之前用過anydesk從有線網路連回家裡的舊手機延遲還 05/12 14:23
56F:→ asunal : 是很高 05/12 14:23
57F:→ asunal : 玩卡牌跟塔防遊戲都不太順手 05/12 14:23
是的,沒有商業優化過的方案延遲不太理想,所以掛機較為實用。Moonlight可能是延遲最
小的。
58F:推 ben1357956 : 強者推 05/12 18:08
59F:推 stark5566 : u文,推 05/12 20:19
60F:推 HowLeeHi : 讚讚 05/12 21:34
61F:推 A4P8T6X9 : 推 05/12 22:52
62F:推 oscarnevan : 真通訊文 05/13 05:57
※ 編輯: ivon852 (36.236.163.253 臺灣), 05/13/2024 21:33:08
63F:推 alfven : 請問內網穿透 就穩定性而言 比較推薦哪個方案? 05/15 06:48
64F:推 lince2357 : 猛,幫推 06/02 11:57