早在 2021 年,我們就看到了將內(nèi)存管理的 Rust 編程語言采用到 Android 代碼庫中的第一步。John Wu,又名 XDA 高級認(rèn)可開發(fā)人員topjohnwu,顯然一直在考慮 Magisk 項(xiàng)目的相同思路。據(jù)吳說,在通過穩(wěn)定渠道發(fā)布 v25.0 版本的 Magisk 后,實(shí)驗(yàn)已經(jīng)開始?,F(xiàn)在,topjohnwu 以 v25.2 的形式推出了新的穩(wěn)定版 Magisk,整個(gè)日志基礎(chǔ)設(shè)施都過渡到了 Rust。
Magisk 的大部分底層組件都是用 C++ 編寫的。然而,作為一種非內(nèi)存管理的語言,它會使程序員面臨內(nèi)存泄漏和緩沖區(qū)溢出。另一方面,Rust 提供了原始速度、靈活性和大部分直接映射到 C++ 將提供的內(nèi)存安全環(huán)境的硬件功能。盡管我們預(yù)計(jì)不會很快在 Rust 中看到 Magisk 的完整實(shí)現(xiàn),但這項(xiàng)將 Rust 代碼集成到項(xiàng)目日志基礎(chǔ)設(shè)施中的早期工作可能非常重要。
值得注意的是,v25.1 中間版本在 v25 發(fā)布后僅 12 天就發(fā)布了,但它是一個(gè)小的錯(cuò)誤修復(fù)更新。然而,最新的 Magisk 穩(wěn)定版本是一個(gè)完整的維護(hù)更新,它還具有許多與 MagiskInit 相關(guān)的改進(jìn)。
您可以在下面找到 Magisk v25.2 的完整更新日志:
[MagiskInit] 修復(fù)使用 stub cpio 時(shí)的潛在問題
[MagiskInit] 修復(fù)使用 stub cpio 時(shí)重新啟動以恢復(fù)
[MagiskInit] 修復(fù) rootfs 設(shè)備的 sepolicy.rules 符號鏈接
[通用] 更好的數(shù)據(jù)加密檢測
[General] 將整個(gè)日志基礎(chǔ)設(shè)施遷移到 Rust