安德猴的另类玩法


要耍安德猴,可以

  • 在装有android的平板、手机上使用
  • 可以用android sdk自带的模拟器(基于qemu)
  • 还可以使用virtualbox/ vmware这样的虚拟机运行x86 android

体验从上到下, 依次80分,50分和10分。(iPhone是 100分的话)


本文介绍一种新的方式,将安卓置于Linux内核原生的容器(container)中,具有基本的GPU硬件加速,同时自带android的核心系统服务。

说人话,就是让android app原生的运行在一台PC中

仿佛有一台android设备运行在电脑里一样。但是并不是虚拟机或者模拟器,所以速度很快。

初步体验, 可以打到60~70分。


主角: ANBOX


官方网站的安装说明已经非常详细,这里只是大概记录一下。

首先Debian源里的并不是新版本,官方目前只支持snap包管理系统,所以如果你的Debian里还没有snap的话需要

1
sudo apt install snapd

Anbox安装

1
sudo snap install --devmode --beta anbox

如果日后需要更新

1
sudo snap refresh --beta --devmode anbox

snap在国内访问会非常不和谐,但是snap又不能直接使用环境变量, 需要修改其配置

1
sudo systemctl edit snapd.service

修改或加入下面几行

1
2
3
[Service]
Environment=http_proxy=http://127.0.0.1:8123
Environment=https_proxy=http://127.0.0.1:8123

Anbox内核模块安装

需要首先apt安装 dkms和内核头文件。

之后从git clone内核模块的源代码

1
git clone https://github.com/anbox/anbox-modules.git

编译

1
2
3
4
sudo cp -rT ashmem /usr/src/anbox-ashmem-1
sudo cp -rT binder /usr/src/anbox-binder-1
sudo dkms install anbox-ashmem/1
sudo dkms install anbox-binder/1

加载测试

1
2
sudo modprobe ashmem_linux
sudo modprobe binder_linux

正常情况下,lsmod应该就能看到刚刚加载的模块

/dev/下面也会出现对应的设备

  • /dev/binder
  • /dev/ashmem

需要修改这两个文件的访问权限, 让普通用户也能访问。


激动人心的时刻, 运行

1
anbox.appmgr

第一次运行的话, CPU会加载android的系统环境, 在我电脑上大概几秒吧 ,完了之后就能看到一个新窗口

点开里面原生自带的应用,每一个都会是一个独立的窗口。


这时可以用adb shell连进去看看。

可以看到android显示的内核、硬件都是真机的,这就是Linux内核容器。

不要惊讶分辨率,我用的是1440p+1080p双显示器

此时android会用以太网卡和主机连接,而在主机端呢, 刚刚的内核驱动则会虚拟出一个anbox0网络设备。


不爽之处

  • 目前的img只有 7.1
  • 似乎并不支持摄像头

喔,对了, 有个脚本可以给默认的android image添加上google play,安装app方便很多

1
git clone https://github.com/geeks-r-us/anbox-playstore-installer.git


就到这里,

下次再见。


文章作者: chopin1998@gmail.com
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 chopin1998@gmail.com !
评论
 上一篇
闭门造车日记 第一篇 闭门造车日记 第一篇
造车日记 - 开篇缘起看到大疆 RoboMaster S1之后,就有了自己也做一台小车的想法。 当然除了以后给女儿当玩具玩儿之外,目的还是非常明确的。 在硬件层面主要是尝试新技术以及为一些技术的工程化积累经验。包含但不限于 CAN/ Et
2020-03-29
下一篇 
ST MCSDK 的开箱使用 | 电机系列 第二篇 ST MCSDK 的开箱使用 | 电机系列 第二篇
因为工作的关系,接触到一些电机的驱动。最早是BLDC,跟着老工程师后面,从懵懵懂懂,到稍微有了一点儿概念。之后自己憋出一个能走微步的步进电机驱动。满满的成就感记忆犹新。 后面的项目,用集成驱动芯片独立完成了一些其它的电机驱动。 前二年的学习
2020-03-23
  目录