在kubernates中安装安卓模拟器

1.检测环境

root@xx:~# apt install cpu-checker
root@xx:~# kvm-ok
INFO: /dev/kvm exists
KVM acceleration can be used
root@xx:~# ll /dev/kvm
crw-rw---- 1 root kvm 10, 232 Jan 15 16:38 /dev/kvm

确认/dev/kvm设备存在即可。如果是ESXi虚拟机服务器,则需要在虚拟机配置页面开启硬件虚拟化,也就是CPU虚拟化,如图:

如果是wsl2,则需要修改.wslconfig配置文件中的nestedVirtualization=true参数。

2.下载镜像

https://hub.docker.com/r/halimqarroum/docker-android页面中介绍了安卓模拟器的基本功能,但是该模拟器没有提供WEB访问页面,故在底部推荐一个自带WebRTC接口的镜像:https://github.com/budtmo/docker-android,故下载镜像:

root@xx:~# docker pull budtmo/docker-android:emulator_14.0
//或者使用加速地址
root@xx:~# docker pull docker.1ms.run/budtmo/docker-android:emulator_14.0
root@xx:~# docker images | grep android
docker.1ms.run/budtmo/docker-android                                           emulator_14.0                              f17008029a69   4 days ago      8.38GB
docker.1ms.run/budtmo/docker-android                                           emulator_11.0_v2.15.0-p0                   bb2463579a08   4 days ago      7.34GB

注意,之前使用了emulator_11.0_v2.15.0-p0版本,启动后无法访问,不知道具体原因,故使用最新的镜像,具体查看已发布页面或者Github介绍。

3.启动安卓模拟器镜像

root@xx:~# docker run -d -p 6080:6080 -e EMULATOR_DEVICE="Samsung Galaxy S10" -e WEB_VNC=true -e EMULATOR_ADDITIONAL_ARGS="-cores 6 -memory 5120" -e TZ=CST --device /dev/kvm --name android-container docker.1ms.run/budtmo/docker-android:emulator_14.0root@merit:~# docker logs -f android-container
2025-01-15 08:36:38,053 INFO supervisord started with pid 8
2025-01-15 08:36:38,055 INFO supervisord started with pid 9
2025-01-15 08:36:38,060 INFO supervisord started with pid 7
2025-01-15 08:36:39,057 INFO spawned: 'android_port_forward' with pid 13
2025-01-15 08:36:39,059 INFO spawned: 'appium' with pid 14
2025-01-15 08:36:39,063 INFO spawned: 'device' with pid 15
2025-01-15 08:36:39,064 INFO spawned: 'd_screen' with pid 16
2025-01-15 08:36:39,067 INFO spawned: 'log_web_shared' with pid 17
2025-01-15 08:36:39,068 INFO spawned: 'd_wm' with pid 18
2025-01-15 08:36:39,072 INFO spawned: 'vnc_server' with pid 19
2025-01-15 08:36:39,076 INFO spawned: 'vnc_web' with pid 20
2025-01-15 08:36:39,803 INFO exited: appium (exit status 0; not expected)
2025-01-15 08:36:39,805 INFO gave up: appium entered FATAL state, too many start retries too quickly
2025-01-15 08:36:39,805 INFO exited: log_web_shared (exit status 0; not expected)
2025-01-15 08:36:40,142 INFO success: d_screen entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2025-01-15 08:36:40,142 INFO success: d_wm entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2025-01-15 08:36:40,142 INFO success: vnc_server entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2025-01-15 08:36:40,142 INFO success: vnc_web entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2025-01-15 08:36:40,733 INFO success: android_port_forward entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2025-01-15 08:36:40,807 INFO success: device entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
2025-01-15 08:36:40,810 INFO spawned: 'log_web_shared' with pid 62
2025-01-15 08:36:41,480 INFO exited: log_web_shared (exit status 0; not expected)
2025-01-15 08:36:43,491 INFO spawned: 'log_web_shared' with pid 69
2025-01-15 08:36:44,173 INFO exited: log_web_shared (exit status 0; not expected)
2025-01-15 08:36:47,181 INFO spawned: 'log_web_shared' with pid 71
2025-01-15 08:36:47,895 INFO exited: log_web_shared (exit status 0; not expected)
2025-01-15 08:36:48,897 INFO gave up: log_web_shared entered FATAL state, too many start retries too quickly
2025-01-15 08:41:43,388 INFO exited: device (exit status 1; not expected)

其中EMULATOR_ADDITIONAL_ARGS设置模拟器的cpu和内存,--device /dev/kvm参数很重要,影响启动速度和访问速度。

4.访问

访问6080端口,页面如下:

点击链接,正常启动后如下:



启动后,大概3-5分钟就可以看见开机页面,通过谷歌浏览器下载和安装抖音,就是安装完成后运行比较卡顿,CPU使用率飙升,后台有个qemu的进程,应该是模拟器使用qemu启动的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/870267.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

告别虚拟机!WSL2安装配置教程!!!

作者:SkyXZ CSDN:SkyXZ~-CSDN博客 博客园:SkyXZ - 博客园 由于Linux的系统的稳定以及在环境管理方面的优越性,同时Linux对于ROS系统的独占,很多时候我们都乐意在Linux系统下开发我们机器人的算法,但是由于Windows和Linux系统的存在内核方面的天壤之别,在我们手边…

windows安装Mosquitto(MQTT服务)

安装说明: https://www.cnblogs.com/xiaosongboke/p/18604458, https://blog.csdn.net/qq_44477552/article/details/143883087设置账号和密码.\mosquitto_passwd.exe -c .\pwfile.example admin注意:CMD以管理员方式运行。 修改配置文件mosquitto.confallow_anonymous fals…

ABC 337 G(主席树)

最近刚学完主席树,找了道题巩固一下,还是非常有收获的。 题目链接:problem 若只让求\(f(1)\),则还是比较简单的——用权值树状数组维护\(dfs\)路径上的数,每次查一下在 递归路径中\(>\)当前结点值 的结点数量,累加起来即为\(f(1)\)。 可是题目要求将\(f(1)到f(n)\)全部…

28. 事件处理

一、事件与事件处理 1.1、什么是事件事件是程序收到外界的输入,处于某种状态时自动发送的信号。事件有固定的类型,每种类型有自己的处理函数,用户只要重写这些函数,即可达到特定的目的。通过事件可以用一个控件监测另外一个控件,并可过滤被监测控件发出的事件。可视化应用…

2025上半年

孩子们,正睿补习计划重启了。 自建题单:ZR 2022 summer B - Virtual Judge P10447 最短 Hamilton 路径 - 洛谷 | 计算机科学教育新生态 求从 \(1\) 号点出发恰好经过每个点一次并且最终回到 \(1\) 号点的最短路径。 设 \(dp_{i,s}\) 表示恰好经过了集合 \(s\) 中的点一次,当…

Agent FFT

Agent FFT请你根据 https://www.cnblogs.com/CDOI-24374/p/17733240.html 这篇文章,仿照写一个好的,以下是一篇仿照《Azune FFT》风格的文章: Azune FFT:异界之战 可能是 Azune 童话系列。感谢 int_R 提供灵感与素材,让奇幻之光照亮一切! ——题记 「报告,INQ。已抵达 …

2025/1/16

今天继续学习了Android开发的相关知识,做手机端的app今天学的是用xml文件控制页面,类似javaweb里面的前端,有许多标签,还解决了运行卡退的一个小问题,需要定义一个主题。

CICD Day9、Argo CD增强持续交付

1、Argo CD简介在Jenkins CI/CD流程中的持续交付阶段,既部署到k8s集群阶段,使用kubectl工具来进行应用程序的部署和更新操作,但这种方式无法实时跟踪应用程序的状态。这将造成用户在CI/CD流程完成后需要额外操作kubernetes集群,以进一步查看应用程序的状态。为了解决这些问…

专为高性能计算和低功耗应用设计的MPF100T-1FCVG484E MPF100TL-FCSG325E MPF100TL-FCVG484I PolarFire FPGA产品系列

‌MPF100TL-FCG484E PolarFire FPGA是Microchip推出的一款高性能、低功耗的FPGA产品系列,特别适用于各种需要高性能计算和低功耗的应用场景‌。‌PolarFire FPGA是Microchip推出的一款高性能、低功耗的FPGA产品系列,特别适用于各种需要高性能计算和低功耗的应用场景‌。这些器…

wordpress 从服务器收到预料之外的响应。此文件可能已被成功上传。请检查媒体库或刷新本页。此响应不是合法的JSON响应。解决方法.210721

两种报错方式: 1.此响应不是合法的JSON响应。 2.从服务器收到预料之外的响应。此文件可能已被成功上传。请检查媒体库或刷新本页。 情况:媒体服务器上传小文件没问题,大一点的文件报这个错误。 原因:这是因为nginx限制了请求体大小 方案:需要在nginx的虚拟机配置文件中添加…

docker containner挂掉,无法exec进入bash,如何修改文件的终极解决方法.210730

场景: Nginx在bash里面配置的时候挂掉了,然后docker start不起来,exec bash进不去,造成无法再改里面的文件了 解决方法: 1,docker ps –a 可以查到所有docker,包括没有运行的,找到containner ID [root@hecs-29489 ~]# docker ps -a CONTAINER ID IMAGE COMMAND…

HP惠普笔记本重装系统无法引导无法进操作系统的终极解决方法.210804

F9进入BIOS-先进(Advanced)-安全引导配置- 启用传统支持和禁用安全引导.zstitle { width: 280px; text-align: center; font-size: 26px } .zsimgweixin { width: 280px } .zsimgali { width: 280px; padding: 0px 0px 50px 0px } .zsleft { float: left } .zsdiv { display:…