安卓运行环境Anbox安装/编译说明(20190426)

在深度社区看到 有帮助

 

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服务

  1. sudo systemctl start anbox-container-manager

复制代码


6、修正媒体播放功能
此部分内容已合并至第七步
注:将此内容添加至/var/lib/anbox/rootfs-overlay/system/etc/media_codecs.xml

7、添加libhoudini
下载链接:

  1. https://pan.baidu.com/s/12YjELsOfTXIYOXZ6gyCvfA

复制代码

提取码: 2adi
文件下载完成后,进入文件所在目录,执行以下命令

  1. sudo rm -r /var/lib/anbox/rootfs-overlay
  2. 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、建立网络连接

  1. 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服务(可选)

  1. [Unit]
  2. Description=Anbox Session Manager
  3.  
  4. [Service]
  5. ExecStart=/usr/local/bin/anbox session-manager
  6.  
  7. [Install]
  8. 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服务自动运行(可选)

  1. sudo systemctl enable anbox-container-manager
  2. 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即可进入。注意添加执行权限

  1. sudo chmod a+x /usr/local/bin/anbox-shell

复制代码


13、deb安装
下载链接,下载其中版本号最新的安装包。当前是anbox_0.1.1~git20190307-deepin_amd64.deb

  1. https://pan.baidu.com/s/1NpyPs8Utf9XIbfBSFXfyBg

复制代码

提取码: 98xu如果没安装内核模块请参考第3步添加,如果安装出现依赖问题,可能是缺少dkms这个包,那么请通过以下代码安装dkms(应该都有的)

  1. 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服务后才会生效。

  1. sudo systemctl reboot anbox-container-manager

复制代码

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值