Docker 实现浏览器里开发Android应用的功能

在浏览器里开发Android应用

         这里需要用到Docker的知识, Che 发布后对Android应用开发多了一个工具,这里就对如何实现该功能就行详细介绍:

Eclipse Che

最近Che发布了正式版,那我就介绍下在Che上开发Android吧~~
使用Che需要懂得一些Docker的知识,只需要一点点即可,因为Che是基于Docker的,所以了解Docker有助于理解Che的工作方式。

不废话,教程只有四步,开始。

第一步:部署docker服务器

我选择的是digitalocean的新加坡服务器,记住,必须选国外的,原因你懂。

如果你不是digitalocean的服务器,那么你可以通过以下方式安装docker:

sudo curl -sSL https://get.docker.com/ | sh
sudo usermod -aG docker your-user #设置Docker以非Root用户运行,确保安全。

选择已经部署docker的服务器镜像

选择已经部署docker的服务器镜像

SSH keys设置

SSH keys设置

SSH keys设置说明

连接服务器ssh -i your-ssh-keys root@yourIP,执行以下步骤:

apt-get update
apt-get dist-upgrade
apt-get install language-pack-zh-hans
locale-gen zh_CN.UTF-8

第二步:安装Eclipse Che

docker pull codenvy/che
docker images

看到下面输出表示成功了。

REPOSITORY  TAG   IMAGE ID  CREATED  SIZE
codenvy/che  latest  1401509fc68f 39 hours ago 613.7 MB

第三步:启动容器

最简单的启动命令:

docker run -ti --privileged --name=che --net=host -p 8080:8080 -p 32768-32788:32768-32788 -v /var/run/docker.sock:/var/run/docker.sock codenvy/che

或者使用Compose启动:

安装Compose(安装命令最新版本请看这里

curl -L https://github.com/docker/compose/releases/download/1.6.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

安装好后,新建一个文件夹,在里面新建一个yaml文件,内容如下,然后执行docker-compose up即可启动Che。

che:
 image: codenvy/che:latest
 command: >
 bash -c "
 sudo rm -rf /home/user/che/lib-copy/* &&
 sudo rm -rf /home/user/che/tomcat/temp/local-storage/* &&
 mkdir -p /home/user/che/lib-copy/ &&
 sudo chown -R user:user /home/user/che &&
 cp -rf /home/user/che/lib/* /home/user/che/lib-copy &&
 /home/user/che/bin/che.sh run -d
 "
 net: "host"
 volumes:
 - "/var/run/docker.sock:/var/run/docker.sock"
 - "/home/user/che/lib:/home/user/che/lib-copy"
 - "/home/user/che/workspaces:/home/user/che/workspaces"
 - "/home/user/che/tomcat/temp/local-storage:/home/user/che/tomcat/temp/local-storage"
 container_name: che

详细启动命令看官方文档,不知道Compose是什么可以看看这里Compose安装使用入门

第四步:开发Android

基本上做到这里接下来就没问题了,首先需要新建一个Android项目,可以查看Codenvy公司的镜像(Codenvy和Che的关系你可以去找找资料)。

Codenvy构建了不少Android开发镜像,直接pull就可以用。

选择一个Demo

选择一个Demo

选择一个镜像启动

选择一个镜像启动

configs可以查看Dockerfile

查看Dockerfile

在浏览器开发Android,APP界面是通过VNC远程显示的,你需要比较先进的浏览器,Chrome或者Firefox都可以。

选择安装apk会自动安装apk

选择安装apk

Hello World

通过VNC显示的模拟器

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

时间: 2016-11-12

Android 手机浏览器调试使用Chrome进行调试实例详解

使用PC上的 Chrome 远程调试手机端的页面 工具准备 手机端:chrome for Android,: PC端:安装谷歌浏览器(最好是最新版的开发者版本) USB 连接线, 也就是你充电器的那条线 开启调试模式 使用 USB 连接你的电脑,并开启调试模式. 使用 Android 4.2 或以上的手机可能没有调试模式选项,可以找到 "设置 > 关于手机 > 版本号(Build Number)", 点 7 次,然后返回开发者选项就可以了. 查找 USB 设备 (Enabl

Android开发之浏览器用法实例详解(调用uc,opera,qq浏览器访问网页)

本文实例讲述了Android开发之浏览器用法.分享给大家供大家参考,具体如下: 一.启动android默认浏览器 Intent intent = new Intent(); intent.setAction("android.intent.action.VIEW"); Uri content_url = Uri.parse("http://www.jb51.net"); intent.setData(content_url); startActivity(inten

Android 开发 使用WebUploader解决安卓微信浏览器上传图片中遇到的bug

先给大家分析下微信浏览器上传图片bug的原因 微信在新版本中采用的是自己的X5内核浏览器,而在较老的版本中还有可能是安卓的原生浏览器.具体的环境我也不太了解,但是经过实际多台安卓机型的测试,我采取的方案可以基本确保在安卓机中微信浏览器的成功上传.苹果机型没问题,因为微信的ios客户端使用的是Safari的内核,没有各种坑,且效果最好. 这里给出一个 WebUploader 官方关于移动端适配的 issues 链接.里面提供的方法确实有效,但就是解决的方案并没有很清楚的展示出来,从该issues中

Android调用系统自带浏览器打开网页的实现方法

在Android中可以调用自带的浏览器,或者指定一个浏览器来打开一个链接.只需要传入一个uri,可以是链接地址. 启动android默认浏览器 在Android程序中我们可以通过发送隐式Intent来启动系统默认的浏览器.如果手机本身安装了多个浏览器而又没有设置默认浏览器的话,系统将让用户选择使用哪个浏览器来打开连接. Uri uri = Uri.parse("https://www.baidu.com"); Intent intent = new Intent(Intent.ACTI

Android编写文件浏览器简单实现

有时候我们保存文件总会用到文件浏览器功能.那么今天博主带大家做一个. 那么开始,浏览文件,我们就需要写一个文件工具类. import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.util.Log; public class FileUtils { /** * 获取当前目录下的所有文件或文

微信浏览器弹出框滑动时页面跟着滑动的实现代码(兼容Android和IOS端)

在做微信开发的时候遇到这个问题:微信浏览器弹出框滑动时页面跟着滑动. 我觉得这个问题用的是下面这几行代码: var $body = $('body'), dialogIsInView = !1,//当前是不是对话框 lastContentContainerScrollTop = -1,//用于弹出框禁止内容滚动 $contentContainer = $('#content-container');//内容容器 //阻止Window滚动 function stopWindowScroll() {

微信或手机浏览器在线显示office文件(已测试ios、android)

最近开发微信企业号,发现微信andriod版内置浏览器在打开文件方面有问题,但是ios版没有问题,原因是ios版使用的是safari浏览器 支持文档直接打开,但是andriod版使用的是腾讯浏览器x5内核,不知道什么原因不支持,可能是集成出现的问题,这里提供解决方法,这种方法也同样适用手机浏览器或者安卓开发.通过此方法可以在微信上开发自己的第三方应用,或者解决自己的项目问题,解决方法及核心代码如下: 1.判断浏览器类型 HttpServletRequest req = ServletAction

如何实现移动端浏览器不显示 pc 端的广告

前一段时间写了一篇博文, 关于微信内置浏览器不显示联盟广告 根据 window.navigator.userAgent 来判断当前浏览器是否是微信内置浏览器 window.navigator.userAgent=='micromessenger' 今天要分享的内容差不多,因为之前只考虑了微信浏览器的适配,回头在移动端浏览器打开站点,发现适配问题. 有的联盟会自动屏蔽移动端,但是有的联盟就不能屏蔽,所以只能手动去判断. 根据浏览器 userAgent 判断来源 安卓设备的的 userAgent 判

用Coldfusion生成 OFFICE 文件的代码

这几天在经典.5D碰到很多人在问,如何用CF生成EXCEL文件,昨天夜晚就写了一个示范程序放上来供大家参考. 我建议大家先自己慢慢体会,程序本身并不复杂,如果看不懂的再来问,最好不要看都没看就来发问... 好的,我就用我CCF论坛的数据库来做是实验,目的是在线打开EXCEL文件和在线生成EXCEL文件.文件内容就是CCF论坛所有版块的名称和编号.我顺便做了个生成WORD文件的.代码就改了一处.大家仔细看看. 在线打开OFFICE文件必须你系统安装了OFFICE.记住这点,要不然就会提示下载. <

js判断手机浏览器操作系统和微信浏览器的方法

今天就为大家介绍一下用js判断手机客户端平台及系统平台的方法: <script type="text/javascript"> //手机端判断各个平台浏览器及操作系统平台 function checkPlatform(){ if(/android/i.test(navigator.userAgent)){ document.write("This is Android'browser.");//这是Android平台下浏览器 } if(/(iPhonei

解决微信浏览器缓存站点入口文件(IIS部署Vue项目)

最近开发的微信公众号项目中(项目采用Vue + Vux 构建,站点部署在IIS8.5上),遇到个非常奇葩的问题,发布站点内容后,通过微信打开网址发现是空白页面(后来验证是微信浏览器缓存了入口文件-index.html,顾之前版本的index页面找不到对应的js,因为我们每次发布会将之前的版本放至另外的备份目录),但关闭网页再次去打开又是正常的.最初开发内部测试时该问题没有引起关注,因为开发人员大部分都是android的手机,后来测试发现,某些android机型不是必现此问题,但是苹果(IOS)机

使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办

相关阅读:微信支付如何实现内置浏览器的H5页面支付 情景再现: 正当开心地收拾东西准备下班的时候,测试部的姑娘跑过来提了一个bug: "在iphone下,点击下拉框出现页面乱跳转现象,安卓机并没有这个问题.而跳转的页面刚好是底部菜单的几个页面."由于项目比较急,小编只能乖乖留下解决问题.再次测试之后,小编逐一排查了可能性原因(正式版和测试版代码不一致,页面HTML代码错乱,css代码错误),但都未能解决问题.一个简单的select,怎么就出现问题了呢?百思不得其解.(至今也没有找到问题

PHP实现浏览器格式化显示XML的方法示例

本文实例讲述了PHP实现浏览器格式化显示XML的方法.分享给大家供大家参考,具体如下: 在头部加上 header("Content-type: application/xml"); 刚开始加上了发现还是不行.最近一直尝试最后终于找到解决办法.在代码最后加上exit;就可以了 $Dom = new \DOMDocument('1.0', 'utf-8'); $paper = $Dom->createElement('paper'); $Dom->appendChild($pa

Javascript限制网页只能在微信内置浏览器中访问

那么问题就来了,这个网页首先涉及到了移动web前端开发,我优先选择了用HTML5+bootstrap组合来实现页面的美观效果,前端其他的任务交给javascript解决(这里我是完全使用原生javascript代码,没有用到任何的框架,因为考虑到手机加载网页的速度本来就慢,而且框架中很多用不到的功能也会随网页一起加载,耗费用户流量). 一切功能都就绪以后,客户试用也觉得很满意,之后我就把代码提交到了正式的服务器上.不过,对方又突然提到了一点:你做的页面确实挺漂亮的,兼容性也不错,但是这个页面用电

解决微信二次分享不显示摘要和图片的问题

解决不显示摘要和图片的问题,需要调用微信公众号的js-sdk的api ,需要前端和后台的配合, 后台需要返回 appid (公众号的appid ) . timestamp (生成签名的时间戳) .nonceStr (签名的随机字符串) . signature (签名* 可能出错): 1.绑定域名 先登录微信公众平台进入"公众号设置"的"功能设置"里填写"js接口安全域名".(特别提示不需要加上http或者https,吃过亏) 2.首先引入js 文

PHP限制页面只能在微信自带浏览器访问的代码

为了防止自己辛辛苦苦做的webapp被人copy,我们都想限制程序只能在微信里面浏览,虽然下面实现了这个功能,单都是小菜,没什么技术含量,懂代码的伪造下就破了.下面是PHP限制页面只能在微信自带浏览器访问的代码. 复制代码 代码如下: <!--?php <br ?--> $useragent = $_SERVER['HTTP_USER_AGENT']; if (strpos($useragent, 'MicroMessenger') === false) { echo " 非微