人人都能上手Linux 第1期 —— 安卓模拟器 Genymotion
本期作为人人都能上手Linux系列的第1期,准备从安卓模拟器开始介绍,绝对不是因为笔者想在Ubuntu上玩金铲铲所以才想起来折腾。
其实很多发行版里已经集成了安卓模拟器来补足Linux生态里的软件不足的情况,如国产Linux发行版中Deepin早已安装上了支持apk安装的组件。
那么如果是使用其他发行版的话还有什么别的选择吗?Anbox和Wayriod似乎都是一个不错的选择,他们用容器化的方法使得在Linux运行安卓应用成为可能,但和Windows下的模拟器相比,操作仍然有些复杂且游戏的图形化性能一般。
所以我们寻找该软件的目标是:
安装配置简单,并且尽量大部分操作能在图形化界面处理。
图形化支持好,能够运行游戏。
贴近Windows模拟器的使用习惯。
于是我发现了Genymotion这款软件,它的特性完美贴合我的需求:
速度极快,显著提升开发和测试效率。
功能全面,提供真实设备的各种模拟能力。
开发友好,与主流IDE无缝集成。
跨平台,在Windows macOS Linux上都有良好表现
Genymotion安装指南
📋 第一步:安装 VirtualBox (前置依赖)
Genymotion 依赖 VirtualBox 运行。
sudo apt update
sudo apt install virtualbox
📥 第二步:下载并安装 Genymotion 3.9.0
下载安装包:
- 地址:https://www.genymotion.com/product-desktop/download/
- 文件:下载 Linux 版本的
.run文件(例如genymotion-3.9.0-linux_x64.run)。
安装命令: 打开终端,进入下载目录并执行安装:
cd ~/Downloads # 赋予执行权限 chmod +x genymotion-3.9.0-linux_x64.run # 运行安装程序 (推荐安装到默认路径) ./genymotion-3.9.0-linux_x64.run按
y确认默认路径,或者输入n自定义路径(如/opt/genymotion)。启动: 在应用菜单搜索 Genymotion 或终端输入
genymotion启动。
⚙️ 第三步:配置 ARM 转译 (核心修正内容)
这是让模拟器运行 ARM 架构应用(如微信、抖音、游戏)的关键。请根据你创建的模拟器 Android 版本选择对应的操作。
🅰️ 方案 A:Android 4.0 - 9.0 (简单拖拽法)
适用于大多数常规开发和测试。
- 下载转译包:
- 项目地址:https://github.com/m9rco/Genymotion_ARM_Translation
- 在
pkgs目录下找到对应 Android 版本的 zip 包。- 例如 Android 9.0 下载:
Genymotion-ARM-Translation-for-9.0.zip
- 例如 Android 9.0 下载:
- 安装:
- 启动模拟器。
- 将下载的 .zip 文件直接拖拽 到模拟器窗口中。
- 点击弹窗中的 OK 确认刷入。
- 重启:
- 显示 "Success" 后,必须重启模拟器生效(
adb reboot或关闭重开)。
- 显示 "Success" 后,必须重启模拟器生效(
🅱️ 方案 B:Android 11 (进阶命令行法)
Android 11 的转译配置较复杂,需要修改系统属性文件。也可以先尝试使用第3步中在运行窗口拖入system.zip.
下载资源:
- 项目地址:https://github.com/niizam/Genymotion_A11_libhoudini
- 下载该项目 Releases 中的
system.zip(或者克隆仓库获取相关文件)。
修改 build.prop (关键步骤): 确保模拟器已启动,使用 Genymotion 自带的
adb或系统adb执行以下命令,将 ARM 架构支持写入系统配置:# 进入 adb shell 并获取 root 权限 adb shell su # 挂载系统为可读写 mount -o rw,remount / # 写入兼容性配置到 build.prop echo 'ro.product.cpu.abilist=x86_64,x86,arm64-v8a,armeabi-v7a,armeabi ro.product.cpu.abilist32=x86,armeabi-v7a,armeabi ro.product.cpu.abilist64=x86_64,arm64-v8a ro.vendor.product.cpu.abilist=x86_64,x86,arm64-v8a,armeabi-v7a,armeabi ro.vendor.product.cpu.abilist32=x86,armeabi-v7a,armeabi ro.vendor.product.cpu.abilist64=x86_64,arm64-v8a ro.odm.product.cpu.abilist=x86_64,x86,arm64-v8a,armeabi-v7a,armeabi ro.odm.product.cpu.abilist32=x86,armeabi-v7a,armeabi ro.odm.product.cpu.abilist64=x86_64,arm64-v8a ro.dalvik.vm.native.bridge=libhoudini.so ro.enable.native.bridge.exec=1 ro.enable.native.bridge.exec64=1 ro.dalvik.vm.isa.arm=x86 ro.dalvik.vm.isa.arm64=x86_64 ro.zygote=zygote64_32' >> /system/build.prop # 同时也建议写入 vendor 的 build.prop (可选,增强兼容性) # 注意:上面的 echo 命令内容较长,建议复制粘贴(如果不熟悉命令行,也可以用
adb pull /system/build.prop拉取到本地修改后再push回去)刷入 libhoudini:
- 将第一步下载的
system.zip直接拖拽 到模拟器窗口中。 - 模拟器会提示是否刷入,点击 OK。
- 将第一步下载的
重启验证:
- 重启模拟器。
- 使用 "Device Info" 类应用查看 CPU 架构,如果看到
arm64-v8a或armeabi-v7a即表示成功。
🛒 第四步:安装 Google Play (可选)
如果不安装 GApps,很多依赖 Google 服务的应用会闪退。
- 点击模拟器右侧工具栏的 "Open GApps" 图标。
- 点击 Accept 下载并安装。
- 重启模拟器后登录 Google 账号。
资源下载链接及其引用
Genymotion ARM转译
https://eonun.com/%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/%E4%B8%AA%E4%BA%BA%E9%9A%8F%E8%AE%B0/Genymotion_%E5%AE%89%E8%A3%85ARM%E6%94%AF%E6%8C%81/Genymotion下载地址
https://www.genymotion.com/product-desktop/download/ARM转译项目地址
安卓4-安卓9 https://github.com/m9rco/Genymotion_ARM_Translation 安卓11 https://github.com/niizam/Genymotion_A11_libhoudini