本文主要是介绍【on property:init.svc.xxx=xxx】Android监测进程的运行状态,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
最近在Android 9.0平台上遇到锁屏界面解不了锁,抓logcat发现keymaster有发生过crash而重启过。问题在于不是keymaster现在不能用而是keystore不能用。为了测试,进入adb mode,主动kill keymaster进程,发现此时keystore再也不能用了。对比Android 8.0发现,不管我怎么把keymaster kill,keystore仍然可用。这样一来,在Android 9.0上keystore服务进程必须在keymaster服务进程后面进行初始化,即当keymaster服务进程重启了,keystore服务进程也需要重启。
device/qcom/{$PLATFORM}/init.target.rc添加如下代码(此方法可以防止偶现keymaster发生重启导致keystore不能用的问题,但不能解决keymaster总发现异常的问题,且暂不知道会不会有其他影响,记录的目的是在某种情况下可以通过此方式来监测服务进程的运行状态):
#keystore和vendor.keymaster分别是对应服务的名字
#keystore服务定义来自system/security/keystor.rc文件
service keystore /system/bin/keystore /data/misc/keystoreclass mainuser keystoregroup keystore drmrpc readproc logwritepid /dev/cpuset/foreground/taskson property:init.svc.vendor.keymaster-3-0=runningstop keystorestart keystore
这篇关于【on property:init.svc.xxx=xxx】Android监测进程的运行状态的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!