在Android模拟器中安装Open GApps遇到问题求助
解决AVD模拟器安装Open GApps脚本执行异常的问题
我之前折腾AVD装Open GApps时也踩过一模一样的坑,脚本跑一半就报错,下面是我试出来的几个排查方向和解决方案,你可以挨个试试:
1. 先确认安装包和模拟器的匹配度
- 必须保证Open GApps的CPU架构(x86/x86_64/arm/arm64)、Android系统版本和你的AVD完全对齐,比如你用的是x86架构的Android6.0模拟器,就只能下
open_gapps-x86-6.0-xxx.zip,差一个版本或者架构错了,脚本直接就崩。 - 建议先从
nano这种最小体量的包开始试,组件越少,兼容性问题越少。
2. 检查adb推送的路径和权限
- 推送安装包时优先推到
/sdcard/目录,这个目录权限最宽松,命令参考:adb push open_gapps-x86–6.0-mini-20170328.zip /sdcard/ - 进入adb shell前先获取root权限(大部分AVD默认允许root):
没有root权限的话,脚本根本没法写入系统分区,大概率执行失败。adb root adb shell su
3. 修正update-binary的执行命令
- 你之前的命令可能路径没写对,正确的做法是要么先cd到安装包所在目录,要么给zip包加绝对路径:
cd /sdcard/ sh META-INF/com/google/android/update-binary 3 1 /sdcard/open_gapps-x86–6.0-mini-20170328.zip - 要是shell直接调用zip里的脚本不行,就先把update-binary解压出来再执行:
unzip open_gapps-x86–6.0-mini-20170328.zip META-INF/com/google/android/update-binary -d /tmp/ sh /tmp/META-INF/com/google/android/update-binary 3 1 /sdcard/open_gapps-x86–6.0-mini-20170328.zip
4. 换成带Google APIs的系统镜像
- 如果你的AVD是用纯Android原生镜像创建的,本身没有预装Google服务框架,直接装Open GApps很容易冲突。建议重新创建AVD时,选择带Google APIs标识的系统镜像,这种镜像自带基础的Google服务组件,安装成功率会高很多。
5. 试试recovery模式安装
- 部分AVD支持进入recovery模式,你可以把安装包放到
/sdcard/后,重启模拟器到recovery,选择“Install zip from sdcard”来安装——recovery环境是专门为刷机设计的,比直接用shell执行脚本稳定得多。
要是还是不行,把脚本执行时的错误信息贴出来,能更快定位问题~
内容的提问来源于stack exchange,提问作者topherlicious
相关产品推荐
相关产品推荐

