尝试用Encrypt Phone对全手机加密时,手机未进入加密流程,而是正常重启。

连上adb后logcat,可以看到重启前最后的log提示

E/Cryptfs ( 300): unmounting /data failed

E/Cryptfs ( 300): Error enabling encryption after framework is shutdown, no data changed, restarting system

Google一下可以发现#58073这个issue,其中29楼提供了非常有用的方法:

while true; do lsof | grep /data; sleep 0.2; done

在执行加密时,在adb shell中同时执行上面的命令,看重启前是哪个进程依旧挂住/data。

在我这里是CallRecorder的alsa_daemon进程,把CallRecorder临时卸载,并killall alsa_daemon,就可以正常进入加密流程读进度条了