在深度社區看到 有幫助
1、編譯安裝Anbox
sudo apt install build-essential cmake cmake-data debhelper dbus google-mock libboost-dev libboost-filesystem-dev libboost-log-dev libboost-iostreams-dev libboost-program-options-dev libboost-system-dev libboost-test-dev libboost-thread-dev libcap-dev libsystemd-dev libegl1-mesa-dev libgles2-mesa-dev libglm-dev libgtest-dev liblxc1 libproperties-cpp-dev libprotobuf-dev libsdl2-dev libsdl2-image-dev lxc-dev libdw-dev libbfd-dev libdwarf-dev pkg-config protobuf-compiler
git clone https://github.com/anbox/anbox.git
cd anbox
mkdir build
cd build
cmake ..
make
sudo make install
2、添加安卓鏡像文件
sudo wget -P /var/lib/anbox -O android.img https://build.anbox.io/android-images/2018/07/19/android_amd64.img
3、添加內核模塊支持
wget http://ppa.launchpad.net/morphis/anbox-support/ubuntu/pool/main/a/anbox-modules/anbox-modules-dkms_13_all.deb && sudo dpkg -i anbox-modules-dkms_13_all.deb
4、添加systemd服務
[Unit]
Description=Anbox Container Manager
After=network.target
Wants=network.target
ConditionPathExists=/var/lib/anbox/android.img
[Service]
ExecStartPre=/sbin/modprobe ashmem_linux
ExecStartPre=/sbin/modprobe binder_linux
ExecStart=/usr/local/bin/anbox container-manager --daemon --privileged --data-path=/var/lib/anbox --android-image=/var/lib/anbox/android.img --use-rootfs-overlay
[Install]
WantedBy=multi-user.target
複製代碼
注:將此部分內容添加至/lib/systemd/system/anbox-container-manager.service。可選項:
--data-path ;容器及數據路徑
--android-img ;安卓根文件系統鏡像路徑,默認爲--data-path + /android.img
--privileged ;特權模式
--daemon ;標記爲系統守護進程
--use-rootfs-overlay ;啓用overlayfs
--container-network-address ;指定網絡地址
--container-network-gateway ;指定網關
--container-network-dns-servers ;指定域名服務
5、啓動Anbox Container服務
- sudo systemctl start anbox-container-manager
複製代碼
6、修正媒體播放功能
此部分內容已合併至第七步
注:將此內容添加至/var/lib/anbox/rootfs-overlay/system/etc/media_codecs.xml
7、添加libhoudini
下載鏈接:
- https://pan.baidu.com/s/12YjELsOfTXIYOXZ6gyCvfA
複製代碼
提取碼: 2adi
文件下載完成後,進入文件所在目錄,執行以下命令
- sudo rm -r /var/lib/anbox/rootfs-overlay
- sudo unsquashfs -d /var/lib/anbox/rootfs-overlay/ overlay.sfs
8、添加桌面文件
[Desktop Entry]
Name=Anbox
GenericName=Application Manager
Comment=Android in a box
Version=1.0
Type=Application
Icon=anbox
Exec=anbox launch --package=org.anbox.appmgr --component=org.anbox.appmgr.AppViewActivity
Terminal=false
Keywords=android;container;
Categories=Utility;
注:將以上內容添加至/usr/share/applications/anbox.desktop
9、建立網絡連接
- nmcli con add type bridge ifname anbox0 -- connection.id anbox-net ipv4.method shared ipv4.addresses 192.168.250.1/24
複製代碼
10、添加anbox-session-manager服務(可選)
- [Unit]
- Description=Anbox Session Manager
- [Service]
- ExecStart=/usr/local/bin/anbox session-manager
- [Install]
- WantedBy=default.target
複製代碼
注:將以上內容添加至/usr/lib/systemd/user/anbox-session-manager.service;
可選項:
--software-rendering ;使用軟件渲染替代硬件加速GL渲染
--single-window ;單窗口模式
--window-size ;單窗口模式窗體大小 --window-size=1027,768
--standalone ;阻止默認容器啓動
--use-system-dbus ;使用系統的DBus
--experimental ;啓用實驗性功能
--desktop_file_hint ;在QtMir/Unity8上隱藏桌面文件
11、設置anbox服務自動運行(可選)
- sudo systemctl enable anbox-container-manager
- sudo systemctl enable anbox-session-manager --user
複製代碼
12、anbox shell
在anbox session manager啓動後,可通過adb shell命令進入。也可通過lxc-attach來訪問容器。
sudo lxc-attach \
-q \
--clear-env \
-P /var/lib/anbox/containers \
-n default \
-v PATH=/sbin:/system/bin:/system/sbin:/system/xbin \
-v ANDROID_ASSETS=/assets \
-v ANDROID_DATA=/data \
-v ANDROID_ROOT=/system \
-v ANDROID_STORAGE=/storage \
-v ASEC_MOUNTPOINT=/mnt/asec \
-v EXTERNAL_STORAGE=/sdcard -- /system/bin/sh
注:可將此命令保存到/usr/local/bin/anbox-shell,而後只需要在終端中輸入anbox-shell即可進入。注意添加執行權限
- sudo chmod a+x /usr/local/bin/anbox-shell
複製代碼
13、deb安裝
下載鏈接,下載其中版本號最新的安裝包。當前是anbox_0.1.1~git20190307-deepin_amd64.deb
- https://pan.baidu.com/s/1NpyPs8Utf9XIbfBSFXfyBg
複製代碼
提取碼: 98xu如果沒安裝內核模塊請參考第3步添加,如果安裝出現依賴問題,可能是缺少dkms這個包,那麼請通過以下代碼安裝dkms(應該都有的)
- sudo apt install dkms
複製代碼
14、已確定基本功能能夠正常使用的應用程序:
(1)、騰訊TIM
(2)、微信
(3)、華爲音樂
(4)、QQ HD(無法驗證登錄)
(5)、QQ音樂車機版、電視版、手機版
(6)、ES文件管理器
(7)、星辰瀏覽器HD
(8)、WPS(不可登錄)
(9)、終端模擬器
(10)、百度貼吧
注:針對/var/lib/anbox/rootfs-overlay的操作一般只有在重啓anbox-container-manager服務後纔會生效。
- sudo systemctl reboot anbox-container-manager
複製代碼