Android 手機無法進入系統解決方案


極力推薦Android 開發大總結文章:歡迎收藏
Android 開發技術文章大總結
1.手機卡在開機動畫介面,無法正常進入系統解決方案
卡死在開機動畫介面的原因是由 RuntimeException: There must be exactly one installer
導致的,部分 adb log 如下:
6 W system_server: Long monitor contention with owner main (1107) at void com.android.server.pm.PackageManagerService.<init>(android.content.Context, com.android.server.pm.Installer, boolean, boolean)(PackageManagerService.java:2543) waiters=0 in void com.android.server.pm.PackageManagerService.lambda$new$0(com.android.server.pm.PackageManagerService, java.util.List, int) for 1.091s 01-01 00:00:43.25811071107 E System: ****************************************** 01-01 00:00:43.258742792 D AAL: 01-01 12:00:43.084 BL= 358,ESS= 256, 01-01 12:00:43.119 BL= 359,ESS= 256, 01-01 12:00:43.171 BL= 360,ESS= 256, 01-01 12:00:43.206 BL= 361,ESS= 256, 01-01 12:00:43.258 BL= 362,ESS= 256, 01-01 00:00:43.25811071107 E System: ************ Failure starting system services 01-01 00:00:43.25811071107 E System: java.lang.RuntimeException: There must be exactly one installer; found [ResolveInfo{65cb129 com.android.packageinstaller/.InstallStart m=0x608000}, ResolveInfo{2281cae com.google.android.packageinstaller/com.android.packageinstaller.InstallStart m=0x608000}] 01-01 00:00:43.25811071107 E System:at com.android.server.pm.PackageManagerService.getRequiredInstallerLPr(PackageManagerService.java:3612) 01-01 00:00:43.25811071107 E System:at com.android.server.pm.PackageManagerService.<init>(PackageManagerService.java:3260) 01-01 00:00:43.25811071107 E System:at com.android.server.pm.PackageManagerService.main(PackageManagerService.java:2355) 01-01 00:00:43.25811071107 E System:at com.android.server.SystemServer.startBootstrapServices(SystemServer.java:648) 01-01 00:00:43.25811071107 E System:at com.android.server.SystemServer.run(SystemServer.java:443) 01-01 00:00:43.25811071107 E System:at com.android.server.SystemServer.main(SystemServer.java:304) 01-01 00:00:43.25811071107 E System:at java.lang.reflect.Method.invoke(Native Method) 01-01 00:00:43.25811071107 E System:at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 01-01 00:00:43.25811071107 E System:at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:891) 01-01 00:00:43.25811071107 D SystemServerTiming: StartPackageManagerService took to complete: 8749ms 01-01 00:00:43.25911071107 E Zygote: System zygote died with exception 01-01 00:00:43.25911071107 E Zygote: java.lang.RuntimeException: There must be exactly one installer; found [ResolveInfo{65cb129 com.android.packageinstaller/.InstallStart m=0x608000}, ResolveInfo{2281cae com.google.android.packageinstaller/com.android.packageinstaller.InstallStart m=0x608000}] 01-01 00:00:43.25911071107 E Zygote:at com.android.server.pm.PackageManagerService.getRequiredInstallerLPr(PackageManagerService.java:3612) 01-01 00:00:43.25911071107 E Zygote:at com.android.server.pm.PackageManagerService.<init>(PackageManagerService.java:3260) 01-01 00:00:43.25911071107 E Zygote:at com.android.server.pm.PackageManagerService.main(PackageManagerService.java:2355) 01-01 00:00:43.25911071107 E Zygote:at com.android.server.SystemServer.startBootstrapServices(SystemServer.java:648) 01-01 00:00:43.25911071107 E Zygote:at com.android.server.SystemServer.run(SystemServer.java:443) 01-01 00:00:43.25911071107 E Zygote:at com.android.server.SystemServer.main(SystemServer.java:304) 01-01 00:00:43.25911071107 E Zygote:at java.lang.reflect.Method.invoke(Native Method) 01-01 00:00:43.25911071107 E Zygote:at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 01-01 00:00:43.25911071107 E Zygote:at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:891) 01-01 00:00:43.25911071107 D AndroidRuntime: Shutting down VM
檢視 bootprof(adb pull /proc/bootprof .)
介面,確實卡死在 PackageManagerService
中,再次檢視 out
下發現 GooglePackageInstaller
與 MtkPackageInstaller
都會在 priv-app
目錄下生成。

bootprof
解決方案
去掉一個不用的 PackageInstall app
即可.
例如:
在 GMS 包裡面的 gms\apps\GooglePackageInstaller\Android.mk
把多的 PackageInstall
新增到 LOCAL_OVERRIDES_PACKAGES := PackageInstaller MtkPackageInstaller
Android.mk檔案如下:
############################################################################### # GooglePackageInstaller LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := GooglePackageInstaller LOCAL_MODULE_CLASS := APPS LOCAL_MODULE_TAGS := optional LOCAL_BUILT_MODULE_STEM := package.apk LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX) LOCAL_PRIVILEGED_MODULE := true LOCAL_CERTIFICATE := PRESIGNED LOCAL_OVERRIDES_PACKAGES := PackageInstaller MtkPackageInstaller LOCAL_SRC_FILES := $(LOCAL_MODULE).apk #LOCAL_REQUIRED_MODULES := #LOCAL_PREBUILT_JNI_LIBS := include $(BUILD_PREBUILT)


長按識別二維碼,領福利
至此,本篇已結束,如有不對的地方,歡迎您的建議與指正。同時期待您的關注,感謝您的閱讀,謝謝!

如有侵權,請聯絡小編,小編對此深感抱歉,屆時小編會刪除文章,立即停止侵權行為,請您多多包涵。

既然都看到這裡,領個紅包在走吧!
以下兩個紅包每天都可以領取
1.支付寶首頁收縮紅包口令522398497 即可免費領取最高99元紅包

支付寶首頁收縮紅包口令522398497 即可免費領取最高99元紅包
-
領取最高10元騰訊新聞紅包步驟如下:
長按識別二維碼,領取騰訊新聞微信紅包