IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    诺多发表于 2024-07-10 23:20:58
    love 0

    docker-android
    笔者此前介绍过在NAS上安装DSM、Windows这些玩法,本文再介绍一个在NAS上安装Android系统的玩意。​这是一个开源项目,名称为docker-android,基于虚拟化技术,可以实现使用Docker的方式在NAS(也可以是其他机器)上安装一个Android系统,即使你没有Android设备,也可以使用这个项目做一些有趣事情,比如跑跑脚笨、挂个游戏啥的。目前这个项目已经支持从v9~v14共6个版本Android系统,非常值得一玩。

    🎭 功能特性

    • 具有不同设备配置文件和主题的模拟器,如三星Galaxy S6、LG Nexus 4、HTC Nexus One等。
    • 支持vnc,你可以看到docker容器内部发生了什么
    • 支持日志共享功能,所有日志都可以从web UI访问
    • 使用adb连接从容器外部控制模拟器的能力
    • 与其他云解决方案集成,例如Genymotion cloud
    • 可以用于构建Android项目
    • 可以用于使用不同的测试框架运行单元和UI测试,例如Appium、Espresso等。
    • 其他不便说的奇技淫巧...

    🥕 系统版本和设备模拟列表

    目前已支持以下版本的Android镜像:

    docker-android

    支持的设备列表:

    docker-android

    🦀 安装docker-android

    1️⃣ 前提准备

    看项目名字就知道,这个项目需要使用Docker来安装,所以你懂的,先在你的机器上装好Docker吧(主流的NAS设备一般都已经提供了官方的Docker套件,直接安装即可)。

    另外,由于这个Docker镜像需要设备宿主机支持KVM虚拟化才能正常启动,所以请先确认你的系统是否支持,可以使用下面命令来看看是不是ok:

    sudo apt install cpu-checker
    kvm-ok
    

    或者,直接到下面的目录中看看有没有kvm文件:

    /dev
    

    docker-android

    2️⃣ 快速安装

    为了便于后续的管理和升级,笔者建议使用Docker Compose进行安装,快准狠!

    1、首先将下面的内容粘贴到compose.yml文件中:

    version: '3.9'
    services:
      emby-server:
        image: lbudtmo/docker-android:emulator_11.0
        container_name: android
        restart: unless-stopped
        network_mode: bridge
        environment:
            EMULATOR_DEVICE: Samsung Galaxy S10
            WEB_VNC: true
            WEB_VNC_PORT: 6080
            VNC_PASSWORD: 123456
            WEB_LOG: true
            WEB_LOG_PORT: 6081
            EMULATOR_NAME: my-super-emulator
            EMULATOR_DATA_PARTITION: 900m
            EMULATOR_NO_SKIN: false
        ports:
          - 6080:6080
          - 6081:6081
        devices:
          - /dev/kvm:/dev/kvm
        volumes:
          - /share/Container/android/data:/home/androidusr
    

    参数说明

    • lbudtmo/docker-android:emulator_11.0:是docker镜像名称,也可以使用上文中列出的其他版本的镜像
    • EMULATOR_DEVICE: Samsung Galaxy S10:设置使用的模拟设备,也可以使用上文中列出的其他设备
    • WEB_VNC:是否启用VNC
    • WEB_VNC_PORT: VNC的端口
    • VNC_PASSWORD:VNC的密码
    • WEB_LOG:是否启用日志共享
    • WEB_LOG_PORT: 日志共享端口
    • EMULATOR_NAME:模拟器名称
    • EMULATOR_DATA_PARTITION:模拟器设备分区,默认是550m
    • EMULATOR_NO_SKIN:是否不器用模拟器主题

    2、然后在compose.yml文件所在目录执行:

    docker compose up -d
    

    3、如果你使用群晖或威联通,也可以在WebUI中操作,直接在Docker套件的应用程序中新建,然后把1中的内容粘贴到进去即可:
    docker-android

    3️⃣ 开始展示

    镜像的体积比较大,多等待一会,然后在浏览器中打开http://ip:6080,你应该就能看到VNC的页面了,点击连接,输入你的密码即可进去Android系统了。
    docker-android

    刚打开的时候可能有点慢,耐心等待一会系统启动完成即可。下图就是启动准备好的样子,在右侧是一些控制按钮。
    docker-android

    docker-android

    原创不易,如果觉得此文对你有帮助,不妨点赞+收藏+关注,你的鼓励是我持续创作的动力!

    高等精灵实验室



沪ICP备19023445号-2号
友情链接