目录 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...
https://github.com/anbox/anbox-modules 或https://github.com/choff/anbox-modules
1、下载anbox宿主机源码
|
2、安装编译依赖
|
相关安装依赖报错解决办法,见下面的编译报错问题集。
3、编译
代码块 |
---|
cd anbox mkdir build cd build/ cmake .. make -j8 |
3.1 编译报错问题集
问题1
/home/phytium/ptg/anbox/src/anbox/cmds/launch.h:24:10: fatal error: systemd/sd-bus.h: 没有那个文件或目录
24 | #include <systemd/sd-bus.h>
...
这里采用dpkg -i 强制安装,apt download libsystemd-dev && sudo dpkg -i libsystemd-dev_245.4-4kylin3.11k14_arm64.deb
问题2
/home/phytium/ptg/anbox/src/anbox/ui/splash_screen.h:23:10: fatal error: SDL2/SDL.h: 没有那个文件或目录
23 | #include <SDL2/SDL.h>
解决办法
需要安装libsdl2-dev
phytium@phytium-d2000:~/ptg/download_debs$ sudo apt install libsdl2-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
您也许需要运行“apt --fix-broken install”来修正上面的错误。
下列软件包有未满足的依赖关系:
libsdl2-dev : 依赖: libasound2-dev 但是它将不会被安装
依赖: libglu1-mesa-dev 但是它将不会被安装
依赖: libibus-1.0-dev 但是它将不会被安装
依赖: libpulse-dev 但是它将不会被安装
依赖: libsndio-dev 但是它将不会被安装
依赖: libxss-dev 但是它将不会被安装
依赖: libxt-dev 但是它将不会被安装
依赖: libxv-dev 但是它将不会被安装
依赖: libxxf86vm-dev 但是它将不会被安装
libsystemd-dev : 依赖: libsystemd0 (= 245.4-4kylin3.11k14) 但是 245.4-4kylin3.11k30 正要被安装
E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。
phytium@phytium-d2000:~/ptg/download_debs$ sudo apt install libpulse-dev
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
您也许需要运行“apt --fix-broken install”来修正上面的错误。
下列软件包有未满足的依赖关系:
libpulse-dev : 依赖: libpulse0 (= 1:13.99.1-1kylin32) 但是 1:13.99.1-1kylin90 正要被安装
依赖: libpulse-mainloop-glib0 (= 1:13.99.1-1kylin32) 但是 1:13.99.1-1kylin90 正要被安装
libsystemd-dev : 依赖: libsystemd0 (= 245.4-4kylin3.11k14) 但是 245.4-4kylin3.11k30 正要被安装
E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。
phytium@phytium-d2000:~/ptg/download_debs$ apt search libpulse0
正在排序... 完成
全文搜索... 完成
libpulse0/now 1:13.99.1-1kylin90 arm64 [已安装,本地]
PulseAudio client libraries
...
这里采用dpkg -i 强制安装,apt download libsdl2-dev && sudo dpkg -i libsdl2-dev_2.0.10+dfsg1-3_arm64.deb
问题3
/home/phytium/ptg/anbox/src/anbox/ui/splash_screen.cpp:23:10: fatal error: SDL2/SDL_image.h: 没有那个文件或目录
23 | #include <SDL2/SDL_image.h>
解决办法
需要安装libsdl2-image-dev,采取同上的方式进行安装,apt download libsdl2-image-dev && sudo dpkg -i libsdl2-image-dev_2.0.5+dfsg1-2_arm64.deb
4、安装
|
5、配置容器启动服务,使用anbox运行自己编译好的Android镜像
(1)创建好挂载目录:
|
(2)将之前编译好的arm64版本的安卓系统镜像android.img 放在 /home/phytium/目录下。
(3)编写服务启动配置文件anbox-container-manager.service,文件内容如下:
|
(4)将service文件放置系统目录
|
(5)enable服务
|
(6)启动anbox容器
|
后面重启系统时会自动启动anbox容器
6、配置appmanager主界面启动快捷方式 appmgr.desktop
文件内容如下:
|
将文件放置系统applications目录
|
7、启动anbox应用管理界面
在启动栏点击Anbox Application Manager快捷图标,即可拉起anbox应用管理主界面。
...