通过本教程,你将学习:
- 在 Olares 宿主机上安装并配置运行 redroid 所需的内核依赖。
- 在 Olares 上安装 redroid 应用。
- 在 Windows 和 macOS 上通过 ADB 和 scrcpy 连接并操作安卓模拟器。
- 安装第三方 APK 应用。
想在本地服务器上运行完整的 Android 系统?redroid (Remote Android) 是一款基于 GPU 加速的云端 Android(AIC,Android in Cloud)解决方案,完美适配 Olares。你可以在 Olares 上轻松托管高性能 Android 实例。远程访问并运行 Android 游戏、Android 应用,甚至批量自动化测试都不在话下。
本教程将带你在 Olares 上完成 ReDroid 的安装与配置,并在 Windows 和 macOS 上通过 adb 与 scrcpy 实现远程连接与使用。
开始之前
在开始之前,请确保满足以下条件:
- Olares 已安装并运行。
建议配置
redroid 项目消耗系统资源较多,建议 Olares 安装在 8 核 16G 内存 上。 - 连接设备和 Olares 处于同一局域网。
远程连接
如连接设备和 Olares 在不同网络,需要在设备上安装 LarePass 客户端以启用专用网络,可在 LarePass 官网下载正确的版本。
安装 Linux 内核依赖模块
在 Linux 系统运行安卓模拟服务需要安装特点内核依赖模块,详见 详见官方文档。
以 Ubuntu 系统为例,可在终端执行以下命令安装内核模块:
sudo apt install linux-modules-extra-`uname -r`
sudo modprobe binder_linux devices="binder,hwbinder,vndbinder"
# 高内核版本可忽略以下命令报错
sudo modprobe ashmem_linux
安装 redroid 应用
- 打开 Olares 应用市场,在“系统工具”分类下找到 redroid,点击获取。
- 获取对外服务网址。安装完成后,从 Olares 桌面进入设置 > 应用 > redroid:
a. 在端点设置里获取ReDroid 地址beb583c3.<your Olares ID>.olares.cn
.
b. 在导出端口下获取对外访问端口46878
。
c. 在 URL 里加入local
关键字以实现本地模式访问。
这样,我们就得到了 redroid 的对外服务网址,如beb583c3.local.<olares_id>.olares.cn:46878
。
连接服务
Olares 服务器运行的 redroid 是一个完全的后端应用。我们需要用安卓调试程序 adb 连接它,然后用 scrcpy 进行屏幕渲染。
Windows 设备
Windows 版本的 scrcpy 自带集成了 adb 工具,用户下载官方 Windows 版压缩包后,解压即可直接使用:
注意
如果你本地已安装了其他版本的 adb,可能会出现 adb server 版本不一致导致的连接问题。此时可以卸载先前安装的版本,或将其替换为 scrcpy 使用的版本。
-
从项目官方页面下载 scrcpy,并解压至指定目录。
-
打开 PowerShell,进入 scrcpy 目录,如:
cd .\scrcpy-win64-v3.1
-
使用 adb 连接运行在 Olares 的远程 Android 实例。
# 请将 <olares_id> 替换为你自己的 Olares ID .\adb.exe connect beb583c3.local.<olares_id>.olares.cn:46878 # 示例输出: connected beb583c3.local.<olares_id>.olares.cn:46878
连接成功可看到如示例中的提示信息。
-
用 scrcpy 渲染并输出界面和音频:
.\scrcpy.exe -s beb583c3.local.harvey063.olares.cn:46878 --audio-codec=aac --audio- encoder=OMX.google.aac.encoder`
连接成功后,屏幕会弹出安卓界面的投屏窗口。你可以用鼠标或触摸板操控。
Mac 设备
Mac 版的 scrcpy 没有集成 adb,需要你单独安装 adb 工具。推荐使用 Homebrew 方式安装,步骤如下:
-
安装 scrcpy。
brew install scrcpy
-
安装 adb。
brew install --cask android-platform-tools
-
验证安装。
scrcpy --version adb version
看到对应的版本即表示安装成功。
解除阻止
如果adb 或 scrcpy 被禁用,可以打开macOS的 设置 > 隐私与安全性 > 安全性页面,找到对应的阻止项并选择仍要打开。再次运行,输入密码即可正常运行。 -
使用 adb 连接运行在 Olares 的远程 Android 实例。
# 请将 <olares_id> 替换为你自己的 Olares ID adb connect beb583c3.local.<olares_id>.olares.cn:46878
看到 connected beb583c3.local.<olares_id>.olares.cn:46878则代表连接成功
-
用 scrcpy 渲染并输出界面和音频:
scrcpy -s beb583c3.local.<olares_id>.olares.cn:46878 --audio-codec=aac --audio-encoder=OMX.google.aac.encoder
运行成功后,你就可以看到模拟的android桌面了
安装 apk 应用
你可以通过 adb 安装下载到本地 apk 应用。
注意
以下命令示例基于 Windows 环境,使用.exe
执行文件。
如果你使用的是 macOS,请将命令中的.exe
去掉即可。
-
查看当前连接设备及其
transport_id
:.\adb.exe devices -l # 示例输出: List of devices attached beb583c3.local.olares02.olares.cn:46878 device product:ziyi model:23031PN0DC device:ziyi transport_id:4
-
在指定设备上安装 apk 应用。例如,
transport_id
为 4:\adb.exe -t 4 install C:\Users\YourName\Downloads\your_app.apk # 示例输出: Performing Streamed Install Success
安装成功后,会看到 Success 的提示。此时,你再重新执行 scrcpy 命令连接手机,上划屏幕,就能看到刚刚安装的应用了。
常见 adb 命令参考
# 启动adb
adb start-server
# 连接设备
adb connect url:port
# 查看当前已连接设备列表
adb devices
# 断开链接
adb disconnect url:port
# 手动安装应用
adb -t 3(transport_id,设备列表可看到) install xx.apk
# 查看日志
adb logcat
# 导出日志
adb logcat -v time > log.txt
# 将文件从本地推送到设备
adb push <本地路径> <设备路径>
# 将文件从设备拉取到本地
adb pull <设备路径> <本地路径>
# 列出设备目录内容
adb shell ls <路径>
# 查看设备文件内容
adb shell cat <文件路径>
# 重启
adb shell
# 关机
adb shell reboot -p
当前使用限制
- 系统资源调度。当前版本一直在使用CPU,导致系统 avg 消耗过高,GPU的使用问题仍在调试。
- 网络的稳定性,有些APP使用过程中会断网。
- 部分APP,如微信无法启动。
- 目前输出的声音略小。