以下為個人理解,如錯請評 CE: 憑據加密 (CE) 存儲空間, 實際路徑/data/user_ce/ DE: 設備加密 (DE) 存儲空間, 實際路徑/data/user_de/ 系統解鎖前也能夠運行一些App,但是需要App在manifest里顯式聲明android:directBootAwar ...
以下為個人理解,如錯請評
CE: 憑據加密 (CE) 存儲空間, 實際路徑/data/user_ce/
DE: 設備加密 (DE) 存儲空間, 實際路徑/data/user_de/
系統解鎖前也能夠運行一些App,但是需要App在manifest里顯式聲明android:directBootAware=true。
defaultToDeviceProtectedStorage :
該flag使App預設存儲位置為DE,系統限制在解鎖前只有DE區域的存儲可用,若訪問CE區域會拋出異常,導致App退出。
異常信息: java.lang.IllegalStateException: SharedPreferences in credential encrypted storage are not available until after user is unlocked
directBootAware:
該flag使App僅能夠在系統未解鎖之前運行起來。但是如果沒有搭配 defaultToDeviceProtectedStorage flag一起使用的話,在解鎖前依然不能訪問CE區域。
為什麼有defaultToDeviceProtectedStorage的存在?
1. DE區域可能是無加密保護的