(转)【教程】Chrome ARC 安装使用过程详解(要使用ARC Welder吗?)2020年更新
https://twocups.cn/index.php/2020/01/09/10/
【教程】Chrome ARC 安装使用过程详解(要使用ARC Welder吗?)2020年更新
版权声明:本文为博主原创文章,转载请注明出处:https://twocups.cn/index.php/2020/01/09/10/
最近想在 Linux 上使用 Android 程序,所以准备找一个好用的安卓模拟器。但我无意中看到了这个—— ARC Welder,一款能在谷歌游览器上运行 apk 的扩展程序。
ARC Welder 是一个 Chrome 的扩展程序,它可以直接通过游览器来运行 Android 程序,并且可以在 Windows、Linux 和 Mac 上跨平台运行。ARC 的全称是 Android Runtime for Chrome,即 Chrome下 Android 程序运行环境。ARC Welder 在2015年由Google官方推出并公开测试,一经推出则由轻量级的虚拟机的优势快速获得了一部分人的喜爱,隐隐有进一步扩大安卓平台的影响力以及引领跨桌面系统运行的势头。但它的缺点也很明显,就是能够适配的软件太少。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC01.png)
我在网上几乎查遍了国内国外的所有关于 ARC Welder 的资料,但那些方法放到现在2020年没有一个能用的。但在我不断地查阅资料和尝试下,终于还是成功地使用了 Chrome ARC。所以我决定自己写一篇博客,来详细地描述 Chrome ARC 的安装使用过程。一方面,记录一下自己的安装过程,方便以后要用的时候复现;另一方面,也能为想要使用 Chrome ARC 的朋友提供一个切实可行的方法。
先展示一下成果(时间: 2020年1月9日 ),至简的页面和超轻的占用完美地符合了我对于该类软件的需求。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC21.png)
我介绍的 Chrome ARC 安装使用方法有以下几个优势:
1. 具有时效性。
网上的资料主要分为2015年和2018年两种,我会分别为大家演示这两种安装使用方法以及他们失效的原因。如今是2020年,而时间也的确是这两种方法失效的原因。(或许2023年有人指出说我的方法失效了,当然欢迎,前提是 Chrome ARC 能活到那个时候 xD)
2. 解决了 ARC Welder 适配软件太少的问题,能适配更多的 Android 程序
适配软件太少也是 ARC Welder 最令人诟病的地方,要不然以能够跨平台的 Chrome 内置轻量级虚拟机这个优势,早就起飞了。不过有一些本身就不允许被装在虚拟机里面的应用(比如钉钉)或者一些 Chrome ARC 本身逻辑无法解析的应用,肯定还是装不上的。
3. 解决了 ARC Welder 一次只能使用一个应用的问题,应用多开无压力
ARC Welder 一次只能打开一个 Android 程序,如果想要打开其他的 Android 程序,就必须关掉之前的程序,这非常不方便。再说,如果不程序多开,那么 ARC Welder 轻量级的优势就体现不出来了。
4. 不需要XX上网
ARC Welder 属于比较特殊的一类扩展程序,无法使用离线程序包安装,而必须在 Chrome 网上应用店在线安装。而 Chrome 网上应用店国内无法直接访问,这就导致如果你不会XX上网,你是一定用不了 ARC Welder 的。我的方法可以在仅仅使用国内网络的情况下安装使用 Chrome ARC。
建议各位想要使用 Chrome ARC 的朋友先看完全文再自己进行操作,因为文章的前半部分讲述的是我根据网上主流的方法进行安装但是失败并查找原因。如果你对安装出错的原因不感兴趣,那么可以直接跳到“Chrome ARC 安装使用过程详解”部分。
初次尝试
最开始,我先尝试了网上比较主流的 ARC Welder 安装使用方法,就是通过 Chrome 网上应用店在线安装 ARC Welder。Chrome 网上应用店直接搜索“ARC Welder”是搜不到的,只能通过特定的网址进入 ARC Welder 的页面。
传送门:Chrome网上应用店的 ARC Welder 页面
![](https://twocups.cn/wp-content/uploads/2020/01/ARC02.png)
虽然文件大小标明12.78MiB,但实际这只是 ARC Welder 本体的大小。在此之前还需要下载 ARC Welder 的运行环境,所以一共要下载200+MiB。
Native Client 是 Chrome 中最强大(伪)的运行环境,Unity3D 生成 HTML 版本的时候就是依赖这个环境的,但现在的 Chrome 都是默认关闭这个环境的。在 Chrome 地址栏输入“chrome://flags/”,然后在该页面中搜索 Native Client,并开启该环境(选择Enabled)。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC03.png)
之后点击 Chrome 的“应用”按钮。如果找不到这个按钮,也可以直接在地址栏输入“chrome://apps/”并按回车。在这个界面就可以看到 ARC Welder 的图标,点击即可运行。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC04.png)
不过有一个更简单的打开方法,直接从系统里打开 ARC Welder 也行。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC05.png)
首次打开ARC Welder是需要选择一个文件夹作为工作目录的。按照提示点击页面右下角的【Choose】按钮,然后选择一个空文件夹作为 ARC Welder 的工作目录。之后就会进入“Test your APP”界面,点击【Add your APK】按钮,从电脑选择一个已经下载好的安卓APK文件。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC06.png)
然后,ARC Welder 就一直卡在了这个页面,也就是网上俗称的“转圈圈”。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC07.png)
在网上查阅资料后发现安装 ARC Welder 后还需要安装 ARChon Runtime for Chrome 才行(安装完会有两个警告,无视即可)。
传送门:ARChon Runtime for Chrome 网站
![](https://twocups.cn/wp-content/uploads/2020/01/ARC08.png)
这种离线扩展程序的安装包的使用方法都是一样的。由于现在 Chrome 不允许离线扩展程序的安装,所以我们需要先修改 crx 文件的后缀,比如 zip 或 rar,把里面的文件解压出来。然后在 Chrome 的扩展程序里面打开“开发者模式”后选择 “加载已解压的扩展程序”,再选择刚才我们解压出来的文件。
在安装完 ARChon Runtime for Chrome 后,我重新启动 ARC Welder,但还是一直卡在 “转圈圈” 页面。所以我又根据网上的方法换了个环境,把 ARChon Runtime for Chrome 换成了 App Runtime for Chrome (Beta) 。但还是没什么用,我还是在老地方卡着。
原理解释
我查遍了几乎国内外所有的 ARC Welder 资料,要么就是卡在“Test your APP”页面没有解决的,要么就是在“Test your APP”页面完全没有出现问题的。幸好 Chrome 的扩展程序有调试界面,我可以具体地定位问题,看看是哪里出错了。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC09.png)
问题主要是出在我红色框圈住的这一块,之后的部分都是服务重新尝试后再次失败的。 由此我们可以看出,一直卡在“Test your APP”页面主要的原因有三个:
1. Reporting crash is not supported.
2. NativeClient: could not load manifest url.
3. Net::ERR_FILE_NOT_FOUND
Native Client 是我们之前开启过的环境,第二个原因说明现在它无法加载特定的地址,并且第三个原因说明有些文件无法被找到。于是我猜测这部分资源可能被 Google 放在了境外的服务器上导致国内无法访问,于是我通过学校的有线网络再次尝试(学校的有线网络是可以连接外网的),发现还是一摸一样的问题。于是我想到谷歌之前把这个项目砍掉的传闻,猜测可能是谷歌不打算继续研究这个项目,所以撤掉了部分支持文件,所以 ARC Welder 在现在的2020年无法正常使用了。这么说来,Google网上应用店中 ARC Welder 的评论都是清一色的运行不了和 ARC Welder 现在在Google网上应用中搜索不到就能解释的通了。
不过我不想让我之前的努力都白费,想再进一步尝试一下。于是我继续去搜集更多的资料,想找到一点转机。要知道,一家企业要是不在乎盈利,那它能做的事就很多了。同样的,程序员要是不在乎时间和精力,那总有解决问题的方法嘛。
首先我们要弄清我们之前装的三个扩展程序 ARC Welder、ARChon Runtime for Chrome 和 App Runtime for Chrome (Beta) 之间的关系是什么。我之前以为 ARChon Runtime for Chrome 和 App Runtime for Chrome (Beta) 都是用来支撑 ARC Welder 运行的环境,但其实并不是这样。
Android Runtime for Chrome(ARC)是由 Google 推出的在 Chrome 中运行 Android 程序的软件。但遗憾的是,ARC 只能在 Chrome OS 上运行,并且只能运行Google提供的一些Android程序。
后来,ARC 被作为扩展程序放进了桌面版 chrome 中,并命名为“ARC Welder”。由于其存在于桌面版 chrome 中,因此 ARC 具备了跨平台的功能,能同时在 Windows、Linux 和 Mac 上运行。为了支持 ARC Welder 在 Chrome 中的应用,App Runtime for Chrome (Beta) 被开发。这种跨平台轻量级虚拟机像极了如今的容器技术,也因此得到了一些程序员的喜爱,但极少的 Android 程序适配也的确限制了它的发展。
再后来,黑客 Vladikoff 将其改进(破解),制作了一个定制版本的 ARC,命名为“ARChon Runtime for Chrome”。他让 ARC 可以安装任何的 Android 程序,并且在此情况下稳定住了能同时在 Windows、Linux 和 Mac 上运行的特性。但是,ARChon Runtime for Chrome 不支持原始的 Android 应用程序包(APK),它们需要被转换成一个 Chrome 扩展程序才能使用。
现在这三个扩展程序的关系就非常明显了,ARC Welder 和 App Runtime for Chrome (Beta) 作为扩展程序是需要一起安装的,这也就是为什么最初我们安装 ARC Welder 的时候本体只有12.78MiB,但我最终下载了200+MiB的原因。而 ARChon Runtime for Chrome 是被人改进(破解)后,可以无视 Google 停止服务的扩展程序(因为它已经是一个独立的扩展程序了)。
简单点来说,ARC Welder + App Runtime for Chrome (Beta) = ARChon Runtime for Chrome + 需要自己将 apk 格式转换为 crx 格式。没错,那个之前一直卡住我的“Test your APP”界面还附带了一个将 apk 格式转换为 crx 格式的功能。
Chrome ARC 安装使用过程详解
首先,我们需要将刚才安装的扩展程序全部卸载干净,然后将 Chrome 更新到最新的版本。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC10.png)
之后,我们需要安装 ARChon Runtime for Chrome。
下载地址:ARChon-v1.2-x86_64
这个扩展程序适用于64位的 Intel x86 架构下桌面版 Chrome 和64位的 Chrome OS。如果你的电脑不是这个配置,就需要你自己去官方网站下载了。
传送门:ARChon Runtime for Chrome 官方网站
![](https://twocups.cn/wp-content/uploads/2020/01/ARC11.png)
开头的“Warning”也验证了我们的想法,这个运行环境( ARChon )将会替代官方的运行环境( ARC Welder 和 ARC Beta ),并且完全不依赖两者。
我们将下载好的压缩文件解压,打开 Chrome 扩展程序页面的“开发者模式”,并选择“加载已解压的扩展程序”,然后选择刚才我们解压出来的文件。Chrome 的离线扩展程序安装都是这个步骤,如果是 crx 文件,那么就先修改文件后缀将其变为压缩文件再解压。安装好后会出现两个错误/警告,不过并不影响使用,我们不用管它。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC12.png)
![](https://twocups.cn/wp-content/uploads/2020/01/ARC13.png)
至此,我们 ARC 环境就算安装完成了,接下来我们需要将我们要安装的原始 Android 应用程序包(APK)转换成一个 Chrome 扩展程序。之前有一个在线 apk 格式转换为 crx 格式的网站(http://huodong.ustc.edu.cn/Crx),不过现在这个网站不能用了。于是我们只能使用当初 Vladikoff 提供的转换程序 chromeos-apk,不过好在这个方法也并不复杂。
首先,我们需要下载并安装 Node.js,只有10+MiB。这里 apk 格式转换为 crx 格式我是在 Windows 系统下操作的,如果有用不了 Windows 的朋友,可以让周围用 Windows 的朋友帮忙转换一下,或者发给我帮你转换(我的联系方式在网站的“关于我们”页面中)。
传送门:Node.js 官方网站
安装完成后,打开“Node.js command prompt”。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC14.png)
然后,我们在 Node.js command prompt 的命令行中安装转换程序 chromeos-apk 。只需要输入一下指令,然后回车运行即可。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC15.png)
安装好转换程序 chromeos-apk 后,我们就需要通过这个程序将我们的原始 Android 应用程序包(APK)转换成一个 Chrome 扩展程序。原始 Android 应用程序包(APK)最好是 Google Play 商店里的,比较纯净,但是登录 Google 商店需要XX上网。不能XX上网的朋友也可以自己在国内的安卓应用网站里下载 APK,尽量保持 APK 纯净就行。为了方便大家理解,我们后面以应用程序包“net.tandem_8427_apps.evozi.com.apk”举例。
我们再打开 Node.js command prompt,在 APK 所在目录下输入以下指令,将 apk 格式转换为 crx 格式。
拿我们举例的应用程序包来说,就应该先切换到该 apk 所在目录下,再输入指令“chromeos-apk net.tandem_8427_apps.evozi.com.apk –archon”。
这里再介绍一下会用到的其他指令。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC16.png)
转换成功后,会在当前目录生成“包名.android”的文件夹(记住这个文件夹的名字,后面要用),即为转换后的 crx 文件目录。拿我们举例的应用程序包来说,转换后 crx 文件目录的名称就是“net.tandem.android”。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC17.png)
这个 crx 文件目录就相当于离线 crx 包修改后缀后解压的文件夹,那么后面的安装大家就应该非常熟悉了。只要打开 Chrome 扩展程序页面的开发者模式,并选择“加载已解压的扩展程序”,然后选择刚才我们解压出来的文件即可。
但是经过我实际测试和查阅网上的资料后发现,一般还会遇到以下问题:
1. 在chrome加载CRX文件目录时,出现错误“There is no “message” element for key extName.”
解决方法:以文本模式(例如使用 txt、word、VS Code )打开该 crx 文件夹下的“_locales/en”目录下的“messages.json”文件,在“extName”节点下,添加“message”字段标签,值则对应 crx 文件夹的名字(就是刚才说记住的文件夹的名字),然后保存退出即可。拿我们举例的应用程序包来说,添加的部分为“,”和“”message”:”net.tandem.android””。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC18.png)
2. 在chrome加载CRX文件目录时,出现错误“WebGL 不受支持。”。
解决方法:在 Chrome 地址栏输入“chrome://flags”,将以下四个功能全部打开。
- Override software rendering list
- Native Client
- WebGL 2.0 Compute(最新的 Chrome 中这个功能已经被合并了,搜索不到了,不用特意去开启)
- WebGL Draft Extensions
![](https://twocups.cn/wp-content/uploads/2020/01/ARC19.png)
然后彻底关闭 Chrome,再重新打开(如果不知道如何彻底关闭 Chrome,那就重启电脑)。之后打开 Chrome 的“设置”,打开“高级”,“系统”一栏打开“使用硬件加速模式(如果可用)”。提示:如果你进行了之前的操作,那么这个默认开启的功能将会被关闭,需要你再次手动打开。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC20.png)
经过以上的操作,我们就可以顺利的使用 Chrome ARC 了。和之前的 ARC Welder 的打开方式是一样的。在 Chrome 地址栏输入“chrome://apps/”,然后选择我们安装好的应用即可使用。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC21.png)
当然,还有更简便的方法,就是直接从系统里打开该应用。
![](https://twocups.cn/wp-content/uploads/2020/01/ARC22.png)