让 Android 应用运行在电脑上,大部分人会使用 Android 模拟器,现存的模拟器品牌也有很多,有的甚至还专门为手机游戏做了一些优化。说白了模拟器就是把整个 Android 系统搬到了电脑上,如果我只是想测试某个应用的运行效果,这种做法未必是最方便的。

Google 曾经发布了一个小工具可以让 Android 应用运行在 Chrome OS 下。经过大神修改移植,现在只要你在电脑上安装了 Chrome 浏览器,就可以在任何系统上运行 Apk 应用。小k 找来了教程,折腾一个晚上之后成功实现在 Chrome 浏览器上运行 Android 应用。考虑到 Windows 系统的保有量占到了 80%(我才不会告诉你们我其实是 Linux 不会用,MAC 买不起呢),我们先来介绍一下在 Windows 平台上的教程。感谢 @断尾的Zekrom 和 apk2crx 提供方法及所需文件。

原料

  • Chrome 浏览器,要求版本 37 及以上。
  • Node.js 环境:下载地址
  • ARChon 浏览器插件:下载地址 (找到适合本系统的版本即可)
  • 小游戏 2048 作为示例文件:下载地址

前期准备

1. 安装运行环境

上述原料备齐后,首先安装 Node.js 运行环境。

在开始菜单中找到「Node.js」文件夹,点击里面的 Node.js command prompt,开启之后便是一个命令行窗口。输入代码:

npm install chromeos-apk –g

注意:这里有可能会弹出错误窗口,如果报错忽略即可。随后关闭命令行

2. 加载 ARChon

记住解压出来的文件夹位置。打开 Chrome 浏览器,进入扩展程序页面,右上角勾选「开发者模式」,点击下一行第一个按钮「加载正在开发的扩展程序…」按钮,定位到 ARChon 所在目录,确定。在扩展程序页面应该会出现对应的「ARChon Custom Runtime」插件,无须在意下方的红色警告。

3. 测试示例文件

示例文件是火爆一时的虐脑游戏 2048,记住解压后文件所在的文件夹位置,同样在扩展程序页面,使用「加载正在开发的扩展程序…」加载示例文件。没有报错即加载成功,随后在应用列表出现一个新的图标,单击它,稍等一段时间之后看看是不是可以玩 2048 了?

运行其他应用

使用此方法运行应用需要将 Apk 安装包进行转换,目前有两种实现转换功能的方法。前者小k 亲测使用正常,后者步骤繁琐,需要大家耐心仔细。

1. 自动转换

下载 Apk 安装包,将 Apk 文件名称改为包名称。包名称形式类似 com.sspai.client,在你下载此应用所在的网页链接上应该会有。更改后的文件名称应类似 com.sspai.client.apk

打开 Node.js command prompt,在命令行运行此命令时将「包名称」这几个字替换成真正的包名称,也就是更改过后的 Apk 文件名:

chromeos-apk 包名称.apk –archon

在这里要注意,运行此命令的前提是命令行执行位置必须是此安装包所在文件夹,也就是说,假设 com.sspai.client.apk 在 D 盘 test 文件夹中,命令行语句前面必须是 D:\test\ 打头。如果不是,需要使用 cd 命令定位到这里,或者不使用 cd 命令,直接在上述命令的包名称所在位置之前加入文件夹地址,即输入命令为

chromeos-apk D:\test\com.sspai.client.apk –archon

命令行界面出现一堆绿色英文句子就代表成功了,在命令行定位处会生成一个带有包名称的文件夹,这里面就是转换完成的应用,使用方法与测试示例文件相同。

例如这样。小k 在运行命令时没有使用 cd 命令重新定位,所以在包名称处加入了安装包文件所在位置,而生成的文件夹在命令行原本所在的位置,这里是 C:\ Users\Kove。而命令行的特性是运行命令结束后会自动返回之前定位的文件夹,也就是说,生成文件夹的位置,只要看绿色句子下面一行的白色字符即可。

2. 手动转换

此方法需要自己手动转换,步骤摘自 @断尾的Zekrom

1. 找到想运行的应用的 Apk 文件和 Apk 包名(类似 us.shandian.blacklight 这样的字符串,可以在 Play 商店、酷市场等的链接处找到;也能通过手动解压 Apk ,在 AndroidManifest.xml 中找到。)

2. 复制一份 “_template”目录,将新目录重命名为包名。

3. 将 Apk 文件拷贝到“\vendor\chromium\crx”目录下

4. 编辑 manifest.json 以适应应用程序:"apkList" 项改为拷贝的 Apk 文件名,"name" 和 "packagename" 改为包名。还可以设置 "formFactor" 和 "orientation" 项让应用适用于平板或手机布局,横向或纵向显示。对于 ARChon 运行时,需要删除整个 "key" 项。

5. 使用“加载正在开发的扩展程序”功能加载这个文件夹,点击运行测试。

直接转换成 CRX 插件

目前有网友制作了一个网站叫做 apk2crx,可以在线 把 Android 应用转换为 CRX 插件,下载之后直接安装到 Chrome 浏览器中即可。这种方法不需要 Node.js 转换,但仍然需要安装 ARChon 插件。

如果大家只是浅尝辄止,那么还是建议使用第一种方法自动转换或者直接使用 CRX 插件玩一玩,方便轻松还节省时间。

不过无论使用哪种方法,都不是 100% 保证所有 Andorid 应用能够成功打开,并且每台电脑平台不同,Chrome 版本不同,所装插件也不同,同一个应用也不一定在所有电脑上都能运行正常。例如小k 在测试「带壳截图」时 Chrome 就提示此插件有未定义标签不允许加载,但在其他平台测试正常。因此大家不要太认真,当作工作之余的消遣即可。