Ubuntu体系使用Docker当地部署Android模仿器并实现公网访问 ...

打印 上一主题 下一主题

主题 598|帖子 598|积分 1794

本文告急先容如何在Ubuntu体系使用Docker部署docker-android安卓模仿器,并结合cpolar内网穿透工具实现公网远程访问当地部署的Android开发环境。
随着移动互联网的飞速发展,Android应用开发日益成为业界关注的核心。在开发过程中,对Android应用的测试和部署至关告急,这关系到应用能否在各种设备和环境下稳定运行。然而,传统的Android开发和测试环境搭建过程繁琐,且不易于管理和维护。为了解决这一题目,Docker-Android 应运而生,它将完整的Android开发环境封装在Docker容器中,大大简化了开发和部署流程。
Docker-Android 通过容器化技能,使得开发者可以在当地或远程服务器上轻松构建和运行Android模仿器。这种轻量级的部署方式不仅降低了资源占用,还进步了开发和测试的效率。更告急的是,Docker-Android 提供了灵活的设置选项,可以根据项目需求进行定制化设置,满足不同的开发和测试需求。
然而,对于必要远程访问Android开发环境的开发者来说,仅仅依赖Docker-Android 还不足以实现这一目标。此时,我们必要借助cpolar这样的内网穿透工具,将当地的Docker-Android 环境暴露到公网上,实现远程访问。cpolar 通过在当地和公网之间创建安全的隧道毗连,使得远程用户可以通过公网地点访问到当地的Docker-Android 环境。
结合Docker-Android 和cpolar,我们可以实现一个高效、灵活且安全的远程Android开发环境。这不仅方便了开发者的远程协作和项目管理,还进步了开发和测试的效率。本文旨在先容如何使用Docker-Android 和cpolar 在当地部署并实现远程访问Android开发环境,为开发者提供一个更加便捷和高效的解决方案。
根据官方说法,只管接纳ubuntu体系进行安装,接纳Docker部署,起首设备必要提前安装好Docker,如没有安装,可以参考Docker 官方教程进行安装ocker 官方安装教程.
1. 虚拟化环境检查

执行下面下令安装检查工具
  1. sudo apt install cpu-checker
复制代码
然后执行下面下令检查是否支持虚拟化
  1. kvm-ok
复制代码
提示下面信息体现正常支持虚拟化环境,如果不是出现如下信息,必要检查设备开启虚拟化支持,然后再进行下面进行android 模仿器部署

2. Android 模仿器部署

本文接纳docker方式部署,起首拉取一个镜像,官方提供许多种安卓版本,具体可以访问Github查看:https://github.com/budtmo/docker-android,理论上版本越高运行的开销会越大,所以本例以运行一个低版本的android 来演示,执行下面下令拉取一个android 9.0版本镜像.
  1. sudo docker pull budtmo/docker-android:emulator_9.0
复制代码
拉取后开始运行容器,下面下令指运行一台Samsung Galaxy S7 的安卓设备,其他机型可以去看一下官方教程,对外访问端口是6080
  1. docker run -d -p 6080:6080 -e EMULATOR_DEVICE="Samsung Galaxy S7" -e WEB_VNC=true --device /dev/kvm --name android-container budtmo/docker-android:emulator_9.0
复制代码
运行后,输入sudo docker ps 可以看到运行的容器,UP状态体现正常

运行后,在浏览器访问Linux ubuntu 6080端口,即可乐成看到android 模仿器界面,初次启动可能会比较慢,如果觉得卡,可以部署更低的机型,如S6,当地测试访问乐成后,下面我们安装cpolar内网穿透,实现远程访问

3. Ubuntu安装Cpolar

上面在当地Docker中乐成部署了Android模仿器,并局域网访问乐成,下面我们在Linux安装Cpolar内网穿透工具,通过Cpolar 转发当地端口映射的http公网地点,我们可以很容易实现远程访问,而无需本身注册域名购买云服务器.下面是安装cpolar步调
   cpolar官网地点: https://www.cpolar.com
  

  • 使用一键脚本安装下令
  1. curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
复制代码


  • 安装完成后,可以通过如下方式来操纵cpolar服务,起首执行加入体系服务设置开机启动,然后再启动服务
  1. # 加入系统服务设置开机启动
  2. sudo systemctl enable cpolar
  3. # 启动cpolar服务
  4. sudo systemctl start cpolar
  5. # 重启cpolar服务
  6. sudo systemctl restart cpolar
  7. # 查看cpolar服务状态
  8. sudo systemctl status cpolar
  9. # 停止cpolar服务
  10. sudo systemctl stop cpolar
复制代码
Cpolar安装和乐成启动服务后,内部或外部浏览器上通过局域网IP加9200端口即:【http://192.168.xxx.xxx:9200】访问Cpolar管理界面,使用Cpolar官网注册的账号登录,登录后即可看到cpolar web 设置界面,接下来在web 界面设置即可

4. 设置公网地点

点击左侧仪表盘的隧道管理——创建隧道,创建一个android 模仿器的公网http地点隧道!


  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 当地地点:6080(docker部署后对外访问的端口)
  • 域名范例:免费选择随机域名
  • 地区:选择China vip
点击创建

隧道创建乐成后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地点,有两种访问方式,一种是http 和https,两种都可以访问,下面选择其中一种进行远程访问

5. 远程访问

使用上面Cpolar生成的 https公网地点,在任意设备的浏览器进行访问,即可乐成看到我们Android 模仿器,简单几步即可实现无需云服务器,无需公网IP实现远程访问.

小结

为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地点是随机生成的。
这种随机地点的优势在于创建速度快,可以立纵然用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地点在24小时内会发生随机变革,更得当于暂时使用。
我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地点(例如:android.cpolar.cn),这样更显正式,便于流交协作。
6. 固定Cpolar公网地点

由于以上使用cpolar所创建的隧道使用的是随机公网地点,24小时内会随机变革,倒霉于长期远程访问。因此我们可以为其设置二级子域名,该地点为固定地点,不会随机变革【ps:cpolar.cn已备案】
   注意必要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】
  登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留乐成后复制保留的二级子域名名称

保留乐成后复制保留乐成的二级子域名的名称

返回登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要设置的隧道,点击右侧的编辑

修改隧道信息,将保留乐成的二级子域名设置到隧道中


  • 域名范例:选择二级子域名
  • Sub Domain:填写保留乐成的二级子域名
点击更新(注意,点击一次更新即可,不必要重复提交)

更新完成后,打开在线隧道列表,此时可以看到公网地点已经发生变革,地点二级名称酿成了我们本身设置的二级子域名名称

7. 固定地点访问

末了,我们使用固定的公网https地点访问,可以看到同样访问乐成,这样一个固定且永久不变的公网地点就设置好了,随时随地都可以远程访问当地android模仿器,无需公网IP,无需云服务器!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

曹旭辉

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表