最近入爪一台一加 3,解锁刷 root 后几乎配置完了所有东西,然后才发现忘记了 gapps。网上看到许多人在这种情况下刷 gapps 遇到了各种各样的问题,一般都被建议双清解决。我查找了一些资料后,决定试试不双清自己修复权限问题。
安装 OpenGApps
这里的假设是已经刷过第三方 Recovery,我这里是 TWRP。从 OpenGApps 网站下载对应的包(我这里对应的是 ARM64、6.0),我选择了 nano 包。
重启进入 Recovery 刷入此包。然后不要急着重启,因为大量网友反应此时重启后会不断 fc。我在一加论坛找到了这样的方法,经实测有效(针对 TWRP,其他 Recovery 请自行调整):此时应回到 Recovery 首页,进入 Mount 页面勾上 System,然后回到首页依次选择 Advanced -> File Manager -> system -> priv-app -> SetupWizard,然后点击右下的选择气泡,最后点击 Delete 删除这个文件夹。
重启正常进入系统后,点击 Google Play 或直接添加 Google 帐号即可。
遇到的问题
一、Google Play 无法正常下载应用
Google Play 下载或更新任何应用时,提示 DF-DLA-15 错误。我找到的方法是进入应用管理清空 Google Play 及 Google Play Services 的数据后重试。
二、Google 联系人同步选项消失
帐户管理中的 Google 帐号内只剩下健身、人脉、应用数据,联系人同步不见踪影。Reddit 上有人指出授权 sync adapter 读写联系人即可,但 H2OS 的应用管理界面中似乎没有办法直接操作,因此我用 adb 手动进行了授权:
$ adb shell
$ pm grant com.google.android.syncadapters.contacts android.permission.READ_CONTACTS
$ pm grant com.google.android.syncadapters.contacts android.permission.WRITE_CONTACTS
执行后,重启手机即可,不需要如原文所说删除、重新添加 Google 帐号。
更新:此方法在三星 Galaxy Note 7 原生系统上也测试成功,理论上还可以推广到更多系统。有遇到 Google Play Services 不断崩溃退出的问题,另 grant 了如下权限解决:
$ pm grant com.google.android.gms android.permission.ACCESS_FINE_LOCATION