Anbox的配置


Anbox的配置

本文僅針對Arch Linux用戶而言,Manjaro用戶請不要嘗試,顯卡驅動會炸(別問,問就是試過)

簡介

Anbox 是一個可以在 GNU/Linux 發行版上運行 Android App 的一個 容器

使用它,你可以讓Android Apps直接跑在內核上,效率比較高

領先Windows一萬年(?)

開始

1. 本體的安裝

sudo pacman -Syy
sudo pacman -S yay adb #如果已經裝過yay就忽略
yay -S anbox-git anbox-<xxxxx>

其中,anbox-xxxxxx可以是以下內容

通常情況下,在 x86_64 計算機上運行 ARM 應用程序需要 Houdini,所以不要安裝anbox-image,這樣在后續安裝ARM程序的時候會出現[INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]的錯誤

2.內核

需要運行帶有 ashmem 和 binder 模塊的內核,但它們不是 Arch Linux 的默認內核 ( linux ) 的一部分,所以需要安裝一個包含這些模塊的內核

通常情況下,你可以使用linux-zen內核

它包含了anbox運行所要的模塊,而且也是最簡單的方式

此內核需要一兩周滾動更新一次,即sudo pacman -Syu

sudo pacman -S linux-zen linux-zen-headers

3.更新Grub

# 以下步驟不是必需的
sudo nano /etc/default/grub
# 這三行是將子菜單展開,這樣不用點擊 advanced 進去了
GRUB_DISABLE_SUBMENU=y
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
# Ctrl+x ,y退出
#----------以下步驟是必要的-------
sudo grub-mkconfig -o /boot/grub/grub.cfg
#大概會輸出以下內容(選段)
正在生成 grub 配置文件
找到 Linux 鏡像:/boot/xxxxxxxx
找到 initrd 鏡像: /boot/xxxx.img /boot/xxxxx.img

4.重啟界面選擇Linux-zen

重啟,在grub中選擇即可

5.掛載binderfs

linux-zen內核必需掛載binderfs

首先,需要一個掛載點。默認情況下,Anbox 將使用 /dev/binderfs。 可以直接創建該目錄,但它會在啟動時被刪除

# 直接創建目錄
sudo mkdir /dev/binderfs

所以這里建議使用 systemd-tmpfiles(ArchLinux Wiki) 實現在啟動時創建 /dev/binderfs為此

需要在 /etc/tmpfiles.d/ 創建一個包含以下內容的文件:

/etc/tmpfiles.d/anbox.conf
d! /dev/binderfs 0755 root root

實現:

sudo nano /etc/tmpfiles.d/anbox.conf
d! /dev/binderfs 0755 root root
# Ctrl+x ,y退出

其次需要掛載 binder 文件系統

mount -t binder none /dev/binderfs

如果想要在啟動時掛載它,只需要在 fstab 中添加下面這一行。
none /dev/binderfs binder nofail 0 0

實現:

sudo /dev/fstab
#在最下面添加:
none                         /dev/binderfs binder   nofail  0      0
# Ctrl+x ,y退出

警告: 添加 nofail 參數后,當啟動沒有 binderfs 支持的內核時,將無法進入恢復 shell

再次重啟

6.打開服務

sudo systemctl enable anbox-container-manager.service

7.啟動Anbox

在桌面環境菜單中找到anbox,打開它,可以進行使用

8.安裝軟件

在anbox中,adb無需手動配置

adb install xxxx.apk


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM