在此之前,我们尝试过在多款安卓应用模拟器工具上运行安卓应用,比如Genymotion、VirtualBox和Android SDK等。但是,有了这套全新的Chrome安卓运行环境,就可以在Chrome浏览器中运行安卓应用了。所以,下面是一些步骤来指导你如何使用ARChon运行时环境在Ubuntu上安装安卓应用。

谷歌已经公布了首批支持原生运行在Chrome OS的安卓应用,而这个全新的“安卓运行时环境”扩展程序使其成为可能。如今,一位名为Vlad Filippov的开发者已经找到了一种把安卓应用移植到桌面端Chrome浏览器的方法。他把chromeos-apk脚本和ARChon安卓运行环境扩展程序两者紧密结合在一起,使得安卓应用可以运行在Windows、Max和Linux系统的桌面端Chrome浏览器中。

应用借助这种运行环境时的性能并不是很好。同样,由于它是官方运行环境的非官方二次开发包,而且运行在Google的Chrome OS之外,因此一些如摄像头和喇叭等系统内置设备可能需要通过打补丁获得或者根本不支持。

安装Chrome

首先,需要在机器上安装Chrome,版本要求是Chrome 37或者更高。可以从Chrome浏览器的下载页面下载。

如果打算安装开发通道版本,按照如下操作。

使用这个命令为Google Chrome添加软件源列表:

  1. $ wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
  2. $ sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'

Adding google source list

添加完软件源列表后,使用下列命令更新本地的软件库索引。

  1. $ sudo apt-get update

现在,就可以安装非稳定版的google chrome,即开发版:

  1. $ sudo apt-get install google-chrome-unstable

Installing Google chrome unstable

安装Archon运行时环境

接下来,需要下载定制版的运行环境安装包,因为官方版本不被Google或Vlad Filippov创建的Chromium安卓运行环境认可。它在很多方面有别于官方版本,主要区别是它可以用于Google浏览器的各个桌面端。下面是需要下载的运行环境安装包,请根据所安装的Ubuntu系统位数选择下列的一种。

32位 Ubntu发行版:

  • 下载 32 位版 Ubuntu 上的 Archron

64位 Ubntu发行版:

  • 下载 64 位版 Ubuntu 上的 Archron

下载好运行环境安装包后,从.zip文件中解压,并将解压得到的目录移动到Home目录。操作命令如下:

  1. $ wget https://github.com/vladikoff/chromeos-apk/releases/download/v3.0.0/ARChon-v1.1-x86_32.zip

Downloading ARChon

  1. $ unzip ARChon-v1.1-x86_32.zip ~/

接下来是安装运行时环境,首先打开Google Chrome浏览器,在地址栏键入chrome://extensions。然后,选中“开发者模式”。最后,点击“载入未打包扩展程序”,选择刚才放置在~/Home下面的文件夹。

安装 ChromeOS-APK

如果要用到上面提到的那些应用,那么手动转换这些APK无需复杂的操作——只需要安装“chromeos-apk”命令行JavaScript工具。可以在Node Package Modules(npm)管理器中安装它。为了安装npm和chromeos-apk,在shell或终端中运行下面命令:

  1. $ sudo apt-get install npm nodejs nodejs-legacy

如果操作系统是64位,需要安装下面这个库,命令如下:

  1. $ sudo apt-get install lib32stdc++6

然后,运行这条命令来安装最新的chromeos-apk:

  1. $ npm install -g chromeos-apk@latest

chromeos apk installation

取决于系统配置,可能需要以sudo权限运行后一条命令。

现在,我们将找一个应用程序的APK来在Google浏览器上试一试,但务必牢记并非所有的安卓应用都可以,有一些可能不稳定或者缺少某些特性。大部分安装即用的通讯类应用都不适用这个环境。

转换APK

将安卓APK放到~/Home下,然后在终端执行下列命令进行转换:

  1. $ chromeos-apk myapp.apk --archon

如果想以全屏模式运行应用,请替换成这条命令:

  1. $ chromeos-apk myapp.apk --archon --tablet

注意:请将myapp.apk替换成待转换的安卓APK应用的文件名。

为了方便,也可以使用Twerk来进行转换,这样可以跳过这一步。

运行安卓Apk

最后,打开chrome浏览器,然后进入chrome://extensions页面,勾选开发者模式。点击“载入未打包扩展程序”按钮,选择上面脚本刚创建的文件夹。

至此,就可以打开Chrome应用启动器运行安卓应用了。

总结

万岁!我们已经成功在Chrome浏览器中安装好安卓Apk应用程序了。这篇文章是关于一款由Vlad Filippov开发的、名为Archon的、时下流行的Chrome安卓运行环境。这个运行环境使用户在Chrome浏览器中运行转换过的Apk文件。目前它还不支持通讯类应用,诸如Whatsapp。因此,如果你有任何问题、建议和反馈,请在下面的评论框中写出来。非常感谢!去拥抱Archon吧!:-)

原文发布时间为:2015-05-31

本文来自云栖社区合作伙伴“Linux中国”

使用 ARChon 运行时环境在 Ubuntu 上运行 Android 应用相关推荐

  1. linux无后缀名程序运行,linux – 如何在Ubuntu上运行无扩展(也许是ELF)文件?

    我的猜测是这是64位系统上的32位编译.我使用gcc上的-m32选项将一个小的c文件交叉编译成二进制文件.这还需要一些额外的包.结果a.out看起来像这样. % file a.out a.out: E ...

  2. 使用Conda Pack打包Python独立运行时环境

    使用Conda Pack打包Python独立运行时环境 版本说明: python=2.7 Conda 的Pack工具,可以说是让我发现了新大陆.之前有个项目使用它解决了一个棘手的问题,一直没有整理相关 ...

  3. 如何在Ubuntu上运行.Net5控制台程序

    如何在Ubuntu上运行.Net5控制台程序 微软.net core已经发布到.Net5了,跨平台一直没有尝试过,闲来无事在Linux上跑一下控制台试试.Ubuntu就不介绍了,首先要在linux上装 ...

  4. 编译器设计-RunTime运行时环境

    编译器设计-RunTime运行时环境 Compiler Design - Run-Time Environment 作为源代码的程序仅仅是文本(代码.语句等)的集合,要使其活动,它需要在目标计算机上执 ...

  5. Adobe flash cs5 的Java运行时环境初始化错误 完美解决方法

    Adobe flash cs5 的Java运行时环境初始化错误 完美解决方法 下载网络上的Adobe flash cs5 精简版(绿色版),Java运行时环境初始化时出现错误,你可能需要重装Flash ...

  6. Go 语言运行时环境变量快速导览

    原文: http://dave.cheney.net/2015/11/29/a-whirlwind-tour-of-gos-runtime-environment-variables Go 语言运行时 ...

  7. flink 运行一段时间 内存溢出_Flink之运行时环境

    Flink 运行时环境由两种类型进程组成,JobManager和TaskManager JobManager,也称为 master,用于协调分布式执行.负责调度任务,检查点,失败恢复等. TaskMa ...

  8. 什么为java运行时的环境_什么是JRE?Java运行时环境简介(一)

    Java开发工具包(JDK),Java虚拟机(JVM)和Java运行时环境(JRE)共同构成了用于开发和运行Java应用程序的Java平台组件的强大功能. 实际上,运行时环境是一种旨在运行其他软件的软 ...

  9. sun java applet,Sun Java运行时环境字体解析Applet权限提升漏洞

    Sun的Java运行时环境(JRE)为JAVA应用程序提供可靠的运行环境. JRE字体解析代码的实现上存在漏洞,可能导致非授权的Applet以提升后的权限执行操作. JRE字体解析代码中的漏洞可能允许 ...

最新文章

  1. Kafka-0.10.0.0 集群高可靠实验
  2. 活动目录系列之一:基本概念
  3. 软工作业 6:软件设计—— 用户体验(案例分析)
  4. cmake-debug和release模式
  5. [原创]同一个Tomcat,配置多个context、多个Host
  6. 列名无效如何解决_XSKY ClickHouse如何实现存算分离
  7. 关掉占用 某端口的进程
  8. 面试被问 Go 的map[int64]int64 在 redis 会占多少空间...
  9. python二进制图片压缩传输_python 中 base64 压缩图片,用post传送
  10. 表生成器@TableGenerator
  11. session在.ashx文件操作问题
  12. f1c100s uboot调试记录
  13. ak4495驱动linux源码,解码芯片由一片变成两片后——升级双AK4495S芯片的香榭丽舍一体机...
  14. 怎么制定合理的开发计划
  15. textview加下划线
  16. mysql-bin.index_mysqlbin.index是什么文件
  17. IE8补充前后缀快捷键
  18. 保险核保、理赔|门诊住院发票识别||医疗单据医疗票据识别技术
  19. 抖音很火的小程序表白html,最近抖音很火的表白小程序写法C#版
  20. Flutter 打包问题 Could not resolve io.flutter:arm64_v8a_release

热门文章

  1. SQL Server 不存在或访问被拒绝 --以及解决方法
  2. 投石问路 IBM于12月出货GPU刀片服务器(1) - 51CTO.COM
  3. Android图表库MPAndroidChart(四)——条形图的绘制过程过程,隐隐约约我看到了套路...
  4. 使用Fireworks 8制作网页效果图2-生成网页
  5. 类和“对象” 以及 面向对象的三大特点
  6. WIN10禁用(AMD显卡驱动)更新windows找不到gpedit.msc请确定文件名
  7. 控件注册失败原因汇集
  8. 提起薛定谔,除了“猫”你还能想到啥?
  9. 考研数据结构——(查找)
  10. Java之父:C语言是撑起一切的基石