1.SystemServer.java

SystemServer作为Android核心组件,负责启动和管理几乎所有系统服务。从Zygote进程创建system_server,是Android系统运行的基础。SystemServer中初始化大部分服务,通过SystemServiceManager加入ServiceManager管理,确保系统稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

frameworks/base/services/java/com/android/server

System Server是android 基本服务的提供者,是android系统运行的最基本需求,所有service运行在一个叫system_server的进程中,system_server进程是android java虚拟机跑的第一个进程,从Zygote 创建而来,是andorid系统最重要的java虚拟机。可以说,整个android系统的业务都是围绕system server而展开,所以,当system_server死掉了,手机必须重启。

从Zygote创建system_server进程时,便实例化了该类

因此在android的启动过程中位于zygote之后。android的所有服务循环都是建立在 SystemServer之上的。在SystemServer中,将可以看到它建立了android中的大部分服务,并通过ServerManager的add_service方法把这些服务加入到了ServiceManager的svclist中。从而完成ServcieManager对服务的管理。

public static void main(String[] args){
    new SystemServer.run();
}
private void run(){
    try{
        //run方法将会对整个系统的Service做初始化,搭建完运行时环境和上下文
        //创建消息队列,家在native lib库
        Looper.prepareMainLooper();
        System.loadLibrary("android_servers");
        performPendingShutdown();

        //创建ActivityThread初始化系统context
        createSystemContext();

        //创建SystemServiceManager负责创建启动管理系统服务
        mSystemServiceManager = new SystemServiceManager(mSystemContext);
        //创建系统服务管理者并添加到本地服务
        mSystemServiceManager.setStartInfo(mRuntimeRestart);
        LocalServices.addService(SystemServiceManager.class, mSystemServiceManager);
        SystemServerInitThreadPool.get();
... ...

try{
    
}

}

android.os.trace:

android.os.SystemProperties:设置或取得系统属性

    android属性值是以键值对的形式存在的,一般放在system.prop,build.prop,default.prop等

    SystemProperties.get("ro.android.myprop")可返回属性对应的key

private void createSystemContext(){
    ActivityThread activityThread = ActivityThread.systemMain();//得到ActivityThread对象
    mSystemContext = activityThread.getSystemContext();

    mSystemContext.setTheme(DEFAULT_SYSTEM_THEME);
    final Context systemUiContext = activityThread.getSystemUiCOntext();
    systemUiContrext.setTheme(DEFAULT_SYSTEM_THEME);
}

android.app.ActivityThread

 

 

 

06-26 09:47:06.997 1251 1251 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: main 06-26 09:47:06.997 1251 1251 E AndroidRuntime: java.lang.IllegalStateException: Signature|privileged permissions not in privileged permission allowlist: {com.telcelam.lockscreen (/system/priv-app/realme/MXSiprogo): android.permission.REAL_GET_TASKS, com.dti.amx (/system/priv-app/realme/TelcelDT): android.permission.SCHEDULE_EXACT_ALARM} 06-26 09:47:06.997 1251 1251 E AndroidRuntime: at com.android.server.permission.access.permission.AppIdPermissionPolicy.onSystemReady(AppIdPermissionPolicy.kt:1634) 06-26 09:47:06.997 1251 1251 E AndroidRuntime: at com.android.server.permission.access.AccessPolicy.onSystemReady(AccessPolicy.kt:275) 06-26 09:47:06.997 1251 1251 E AndroidRuntime: at com.android.server.permission.access.AccessCheckingService.onSystemReady$frameworks__base__services__permission__android_common__services_permission_pre_jarjar(AccessCheckingService.kt:239) 06-26 09:47:06.997 1251 1251 E AndroidRuntime: at com.android.server.permission.access.permission.PermissionService.onSystemReady(PermissionService.kt:2295) 06-26 09:47:06.997 1251 1251 E AndroidRuntime: at com.android.server.pm.permission.PermissionManagerService$PermissionManagerServiceInternalImpl.onSystemReady(PermissionManagerService.java:780) 06-26 09:47:06.997 1251 1251 E AndroidRuntime: at com.android.server.pm.PackageManagerService.systemReady(PackageManagerService.java:4702) 06-26 09:47:06.997 1251 1251 E AndroidRuntime: at com.android.server.SystemServer.startOtherServices(SystemServer.java:3157) 06-26 09:47:06.997 1251 1251 E AndroidRuntime: at com.android.server.SystemServer.run(SystemServer.java:1014) 06-26 09:47:06.997 1251 1251 E AndroidRuntime: at com.android.server.SystemServer.main(SystemServer.java:713) 06-26 09:47:06.997 1251 1251 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) 06-26 09:47:06.997 1251 1251 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:681) 06-26 09:47:06.997 1251 1251 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:893)
06-28
PackageManager: System package ecarx.ads no longer exists; it's data will be wiped[2025-07-18 10:21:15.406] 01-01 08:00:12.782 1358 1358 I PackageManager: Finished scanning system apps. Time: 133 ms, packageCount: 74 , timePerPackage: 1 , cached: 128[2025-07-18 10:21:15.406] 01-01 08:00:12.786 1358 1358 E System : ******************************************[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E System : ************ Failure starting system services[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E System : java.lang.NullPointerException: Attempt to read from field 'com.android.server.pm.PackageSignatures com.android.server.pm.PackageSettingBase.signatures' on a null object reference[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E System : at com.android.server.pm.PackageManagerService.assertPackageIsValid(PackageManagerService.java:11584)[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E System : at com.android.server.pm.PackageManagerService.scanPackageNewLI(PackageManagerService.java:10427)[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E System : at com.android.server.pm.PackageManagerService.addForInitLI(PackageManagerService.java:9192)[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E System : at com.android.server.pm.PackageManagerService.scanPackageChildLI(PackageManagerService.java:8881)[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E System : at com.android.server.pm.PackageManagerService.scanDirLI(PackageManagerService.java:8720)[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E System : at com.android.server.pm.PackageManagerService.scanDirTracedLI(PackageManagerService.java:8673)[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E System : at com.android.server.pm.PackageManagerService.<init>(PackageManagerService.java:2977)[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E System : at com.android.server.pm.PackageManagerService.main(PackageManagerService.java:2378)[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E System : at com.android.server.SystemServer.startBootstrapServices(SystemServer.java:649)[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E System : at com.android.server.SystemServer.run(SystemServer.java:450)[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E System : at com.android.server.SystemServer.main(SystemServer.java:311)[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E System : at java.lang.reflect.Method.invoke(Native Method)[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E System : at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E System : at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:891)[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E Zygote : System zygote died with exception[2025-07-18 10:21:15.406] 01-01 08:00:12.787 1358 1358 E Zygote : java.lang.NullPointerException: Attempt to read from field 'com.android.server.pm.PackageSignatures com.android.server.pm.PackageSettingBase.signatures' on a null object reference[2025-07-18 10:21:15.437] 01-01 08:00:12.787 1358 1358 E Zygote : at com.android.server.pm.PackageManagerService.assertPackageIsValid(PackageManagerService.java:11584)[2025-07-18 10:21:15.437] 01-01 08:00:12.787 1358 1358 E Zygote : at com.android.server.pm.PackageManagerService.scanPackageNewLI(PackageManagerService.java:10427)[2025-07-18 10:21:15.437] 01-01 08:00:12.787 1358 1358 E Zygote : at com.android.server.pm.PackageManagerService.addForInitLI(PackageManagerService.java:9192)[2025-07-18 10:21:15.437] 01-01 08:00:12.787 1358 1358 E Zygote : at com.android.server.pm.PackageManagerService.scanPackageChildLI(PackageManagerService.java:8881)[2025-07-18 10:21:15.437] 01-01 08:00:12.787 1358 1358 E Zygote : at com.android.server.pm.PackageManagerService.scanDirLI(PackageManagerService.java:8720)[2025-07-18 10:21:15.437] 01-01 08:00:12.787 1358 1358 E Zygote : at com.android.server.pm.PackageManagerService.scanDirTracedLI(PackageManagerService.java:8673)[2025-07-18 10:21:15.437] 01-01 08:00:12.787 1358 1358 E Zygote : at com.android.server.pm.PackageManagerService.<init>(PackageManagerService.java:2977)[2025-07-18 10:21:15.437] 01-01 08:00:12.787 1358 1358 E Zygote : at com.android.server.pm.PackageManagerService.main(PackageManagerService.java:2378)[2025-07-18 10:21:15.437] 01-01 08:00:12.787 1358 1358 E Zygote : at com.android.server.SystemServer.startBootstrapServices(SystemServer.java:649)[2025-07-18 10:21:15.437] 01-01 08:00:12.787 1358 1358 E Zygote : at com.android.server.SystemServer.run(SystemServer.java:450)[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E Zygote : at com.android.server.SystemServer.main(SystemServer.java:311)[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E Zygote : at java.lang.reflect.Method.invoke(Native Method)[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E Zygote : at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E Zygote : at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:891)[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 D AndroidRuntime: Shutting down VM[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: main[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E AndroidRuntime: java.lang.NullPointerException: Attempt to read from field 'com.android.server.pm.PackageSignatures com.android.server.pm.PackageSettingBase.signatures' on a null object reference[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E AndroidRuntime: at com.android.server.pm.PackageManagerService.assertPackageIsValid(PackageManagerService.java:11584)[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E AndroidRuntime: at com.android.server.pm.PackageManagerService.scanPackageNewLI(PackageManagerService.java:10427)[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E AndroidRuntime: at com.android.server.pm.PackageManagerService.addForInitLI(PackageManagerService.java:9192)[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E AndroidRuntime: at com.android.server.pm.PackageManagerService.scanPackageChildLI(PackageManagerService.java:8881)[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E AndroidRuntime: at com.android.server.pm.PackageManagerService.scanDirLI(PackageManagerService.java:8720)[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E AndroidRuntime: at com.android.server.pm.PackageManagerService.scanDirTracedLI(PackageManagerService.java:8673)[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E AndroidRuntime: at com.android.server.pm.PackageManagerService.<init>(PackageManagerService.java:2977)[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E AndroidRuntime: at com.android.server.pm.PackageManagerService.main(PackageManagerService.java:2378)[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E AndroidRuntime: at com.android.server.SystemServer.startBootstrapServices(SystemServer.java:649)[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E AndroidRuntime: at com.android.server.SystemServer.run(SystemServer.java:450)[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E AndroidRuntime: at com.android.server.SystemServer.main(SystemServer.java:311)[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)[2025-07-18 10:21:15.468] 01-01 08:00:12.787 1358 1358 E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)[2025-07-18 10:21:15.500] 01-01 08:00:12.787 1358 1358 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:891)[2025-07-18 10:21:15.500] 01-01 08:00:12.788 1358 1358 E AndroidRuntime: Error reporting crash[2025-07-18 10:21:15.500] 01-01 08:00:12.788 1358 1358 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke interface method 'void android.app.IActivityManager.handleApplicationCrash(android.os.IBinder, android.app.ApplicationErrorReport$ParcelableCrashInfo)' on a null object reference[2025-07-18 10:21:15.500] 01-01 08:00:12.788 1358 1358 E AndroidRuntime: at com.android.internal.os.RuntimeInit$KillApplicationHandler.uncaughtException(RuntimeInit.java:143)[2025-07-18 10:21:15.500] 01-01 08:00:12.788 1358 1358 E AndroidRuntime: at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1068)[2025-07-18 10:21:15.500] 01-01 08:00:12.788 1358 1358 E AndroidRuntime: at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1063)[2025-07-18 10:21:15.500] 01-01 08:00:12.788 1358 1358 E AndroidRuntime: at java.lang.Thread.dispatchUncaughtException(Thread.java:1955)[2025-07-18 10:21:15.500] 01-01 08:00:12.788 1358 1358 I Process : Sending signal. PID: 1358 SIG: 9[2025-07-18 10:21:15.500]
最新发布
07-19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值