关于MIUI刷入谷歌GAPPS后卡FC的问题
背景
最近手機太過臃腫,不愿清理,直接線刷了(Mi5 ultra 128g miui8)。刷完以后接著刷入GAPPS(谷歌全家福套裝),結果開機引導界面就FC(Force Closures 強制停止運行)了,后來刷入MIUI后先開機,設置完那一堆引導之后,再關機刷入GAPPS,結果再開機時發現Google play service經常卡FC,報錯信息是缺少非精確定位權限,上網查了查并沒有很好的解決辦法。
解決方法
仔細研究了GAPPS的網站,在它的github上發現了這么一個版本介紹的網站:https://github.com/opengapps/opengapps/wiki/Notes-for-Android-6.0 上面有這么一句話
If you still experience Force Closures of the Setup Wizard at first boot or Google Play Services your ROM could benefit from this patch by @TheCrazyLex It grants the necessary permissions to GApps explicitly, even when their Stock/AOSP counterparts are still installed.
其大體內容就是說如果你遇到在第一次開機引導設置發生強制停止的問題或總是發生Google Play Services 強制停止的問題時,你可以使用下面腳本來賦予Gapps所需要的權限。具體腳本內容如下:
#!/system/bin/env bash # taken from https://github.com/TeamExodus/frameworks_base/commit/9c36be651e83fb039a262682839bd920b033007a # converted to bash script by @jomoPHONE_PERMISSIONS="READ_PHONE_STATE CALL_PHONE READ_CALL_LOG WRITE_CALL_LOG ADD_VOICEMAIL USE_SIP PROCESS_OUTGOING_CALLS" CONTACTS_PERMISSIONS="READ_CONTACTS WRITE_CONTACTS GET_ACCOUNTS" LOCATION_PERMISSIONS="ACCESS_FINE_LOCATION ACCESS_COARSE_LOCATION" CALENDAR_PERMISSIONS="READ_CALENDAR WRITE_CALENDAR" SMS_PERMISSIONS="SEND_SMS RECEIVE_SMS READ_SMS RECEIVE_WAP_PUSH RECEIVE_MMS READ_CELL_BROADCASTS" MICROPHONE_PERMISSIONS="RECORD_AUDIO" CAMERA_PERMISSIONS="CAMERA" SENSORS_PERMISSIONS="BODY_SENSORS" STORAGE_PERMISSIONS="READ_EXTERNAL_STORAGE WRITE_EXTERNAL_STORAGE"grantPerms() {for perm in $2; doecho ">" pm grant "$1" android.permission."$perm"pm grant "$1" android.permission."$perm" 2>/dev/nulldone }# Google Account googleaccountPackage="com.google.android.gsf.login" grantPerms "$googleaccountPackage" "$CONTACTS_PERMISSIONS" grantPerms "$googleaccountPackage" "$PHONE_PERMISSIONS"# Google App googleappPackage="com.google.android.googlequicksearchbox" grantPerms "$googleappPackage" "$CALENDAR_PERMISSIONS" grantPerms "$googleappPackage" "$CAMERA_PERMISSIONS" grantPerms "$googleappPackage" "$CONTACTS_PERMISSIONS" grantPerms "$googleappPackage" "$LOCATION_PERMISSIONS" grantPerms "$googleappPackage" "$MICROPHONE_PERMISSIONS" grantPerms "$googleappPackage" "$PHONE_PERMISSIONS" grantPerms "$googleappPackage" "$SMS_PERMISSIONS" grantPerms "$googleappPackage" "$STORAGE_PERMISSIONS"# Google Play Services gmscorePackage="com.google.android.gms" grantPerms "$gmscorePackage" "$SENSORS_PERMISSIONS" grantPerms "$gmscorePackage" "$CALENDAR_PERMISSIONS" grantPerms "$gmscorePackage" "$CAMERA_PERMISSIONS" grantPerms "$gmscorePackage" "$CONTACTS_PERMISSIONS" grantPerms "$gmscorePackage" "$LOCATION_PERMISSIONS" grantPerms "$gmscorePackage" "$MICROPHONE_PERMISSIONS" grantPerms "$gmscorePackage" "$PHONE_PERMISSIONS" grantPerms "$gmscorePackage" "$SMS_PERMISSIONS" grantPerms "$gmscorePackage" "$STORAGE_PERMISSIONS"# Google Connectivity Services gcsPackage="com.google.android.apps.gcs" grantPerms "$gcsPackage" "$CONTACTS_PERMISSIONS" grantPerms "$gcsPackage" "$LOCATION_PERMISSIONS"# Google Contacts Sync googlecontactssyncPackage="com.google.android.syncadapters.contacts" grantPerms "$googlecontactssyncPackage" "$CONTACTS_PERMISSIONS"# Google Backup Transport googlebackuptransportPackage="com.google.android.backuptransport" grantPerms "$googlebackuptransportPackage" "$CONTACTS_PERMISSIONS"# Google Play Framework gsfcorePackage="com.google.android.gsf" grantPerms "$gsfcorePackage" "$CONTACTS_PERMISSIONS" grantPerms "$gsfcorePackage" "$PHONE_PERMISSIONS"# Google Setup Wizard setupwizardPackage="com.google.android.setupwizard" grantPerms "$setupwizardPackage" "$CONTACTS_PERMISSIONS" grantPerms "$setupwizardPackage" "$PHONE_PERMISSIONS"# Google Play Store vendingPackage="com.android.vending" grantPerms "$vendingPackage" "$CONTACTS_PERMISSIONS" grantPerms "$vendingPackage" "$PHONE_PERMISSIONS" grantPerms "$vendingPackage" "$LOCATION_PERMISSIONS" grantPerms "$vendingPackage" "$SMS_PERMISSIONS"將上面這些代碼保存在一個文本文件中,再將文件名改為:fix_open_gapps_permissions.sh
如果你電腦可以使用adb命令,則連上你的手機,打開usb調試,運行下面代碼:
以上第一行代碼就是將fix_open_gapps_permissions.sh這個腳本復制到了手機的/sdcard/路徑下,第二行代碼是執行這個腳本,第三行是刪除這個腳本,刪不刪都無所謂,第二行能運行成功是關鍵。如果你的第二行運行出錯說沒有bash這個命令,可以改為下面sh這個命令試一下:
adb shell 'sh /sdcard/fix_open_gapps_permissions.sh'解決方法到此結束,記錄此事希望可以幫到大家。
總結
以上是生活随笔為你收集整理的关于MIUI刷入谷歌GAPPS后卡FC的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端性能优化之浏览器渲染原理和关键渲染路
- 下一篇: InDesign 教程如何导入文本?