环境配置说明
- 适用硬件:Raspberry Pi 4B | raspios_arm64-2020-05-28
- 编译系统:Debian For WSL
- 参考借鉴:UOS安装anbox | Anbox的安装编译
交叉编译内核
- 某些发行版内核已自带了模块,但树莓派的内核不包含它们且不支持DKMS只能手动编译
从Ubuntu 19.04开始,自带的内核(>= 5.0)已包含上面两个模块,不再需要从PPA安装模块。
从Debian 10开始,自带的内核(>= 4.19)已包含上面两个模块,不再需要从DKMS安装模块。
- 在编译主机上安装交叉编译工具
1 | sudo apt-get update |
- 获取内核源码
1 | mkdir /home/leux/rpi4 |
- 为内核源码打补丁,使其可生成ashmem_linux和binder_linux模块
1 | wget https://salsa.debian.org/kernel-team/linux/-/blob/debian/5.4.19-1/debian/patches/debian/android-enable-building-ashmem-and-binder-as-modules.patch |
- 获取内核编译配置文件
1 | # 在64位的Raspbian系统内执行下面命令来获取官方的内核编译配置文件 |
- 配置内核编译参数
1 | # 进入内核配置界面 |
- 编译内核并备份
1 | # 编译内核 |
- 安装内核到系统
1 | # 把上步生成的kernel.tgz复制到树莓派里 |
- 安装完内核后重启来加载新内核,然后查看模块效果
1 | # 测试加载内核模块 |
安装配置Anbox
- 安装Anbox
1 | # 注意:Anbox在contrib源里,找不到包则需要添加contrib源 |
- 下载Android镜像
1 | # 官方提供的arm64镜像不能正常启动,但可以使用别人已经编译好的 |
- 启动Anbox容器管理器
1 | # 启动Anbox容器管理器 |
其他说明
- 在Session manager启动后,可通过lxc-attach来进入Abox的Shell环境
1 | sudo lxc-attach -q \ |
- 在Anbox中安装应用
1 | sudo apt install android-tools-adb |