Android系统剪裁后卸载APK失败重启系统

系统剪裁很多后卸载apk失败重启,查找logcat信息追踪代码发现是FIle.java里的delete函数失败返回-1导致PackagemanagerServer退出进而导致SystemServer退出最终重启整个java世界。查找java相关的系统服务c c++层的服务结果都是无功而返,找原因的过程中发现设置->安全选项也会崩溃。于是猜测和安全相关的配置有关,开始修改内核先关配置,结果都是没有效果。然后开始查找查看相关的各个xxx.rc,突然发现keystore字眼,用的是class late_start 心想会不会是这里的原因了?改成main,编译烧写,启动可以成功卸载apk了!!原来是别人优化启动时间的时候改成late_start导致的。

当我们调用class_start main命令时,所有标识为main的服务都会被启动。对于core, late_start类的服务也是这样的。而且不同服务启动先后顺序也是很重要的。

class core 的服务如下:

 

序号service名称所属文件命令bin文件位置
1watchdogdinit.manta.rc/sbin/watchdogd
2watchdogdinit.recovery.manta.rc/sbin/watchdogd
3setup_fsinit.smdk5250.rc/system/bin/setup_fs
4ueventdinit.rc/sbin/ueventd
5logdinit.rc/system/bin/logd
6healthdinit.rc/sbin/healthd
7consoleinit.rc/system/bin/sh
8adbdinit.rc/sbin/adbd
9servicemanagerinit.rc/system/bin/servicemanager
10voldinit.rc/system/bin/vold
可以看到,core服务都是系统最基本的服务,只要core服务全部启动,手机此时是可以运行的,但是却看不到东西,原因是framework没有启动。此时启动的都是C,C++的进程。此时是不能打电话的,因为ril-deamon没有启动

 

 

class main的服务如下:

 

序号service名称所属文件命令bin文件位置
1p2p_supplicantinit.manata.rc/system/bin/wpa_supplicant
2wpa_supplicantinit.manata.rc/system/bin/wpa_supplicant
3dhcpcd_wlan0init.manata.rc/system/bin/dhcpcd
4dhcpcd_p2pinit.manata.rc/system/bin/dhcpcd
5dhcpcd_eth0init.manata.rc/system/bin/dhcpcd
6dhcpcd_bt-paninit.manata.rc/system/bin/dhcpcd
7dhcpcd_bt-paninit.manata.rc/system/bin/dhcpcd
8iprenew_p2pinit.manata.rc/system/bin/dhcpcd
9iprenew_eth0init.manata.rc/system/bin/dhcpcd
10iprenew_bt-paninit.manata.rc/system/bin/dhcpcd
11gpsdinit.manata.rc/system/vendor/bin/gpsd
12mobicoreinit.manata.rc/system/bin/mcDriverDaemon
13bugreportinit.manata.rc/system/bin/dumpstate
14netdinit.rc/system/bin/netd
15debuggerdinit.rc/system/bin/debuggerd
16debuggerd64init.rc/system/bin/debuggerd64
17ril-daemoninit.rc/system/bin/rild
18surfaceflingerinit.rc/system/bin/surfaceflinger
19drminit.rc/system/bin/drmserver
20mediainit.rc/system/bin/mediaserver
21bootaniminit.rc/system/bin/bootanimation
22installdinit.rc/system/bin/installd
23flash_recoveryinit.rc/system/etc/install-recovery.sh
24racooninit.rc/system/bin/racoon
25mtpdinit.rc/system/bin/mtpd
26keystoreinit.rc/system/bin/keystore
27dumpstateinit.rc/system/bin/dumpstate
28sshdinit.rc/system/bin/start-ssh
29mdnsdinit.rc/system/bin/mdnsd
30zygoteinit.zygote32_64.rc/system/bin/app_process
31zygoteinit.zygote32.rc/system/bin/app_process
32zygoteinit.zygote64.rc/system/bin/app_process64
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值