前些日子入手了 Redmi K30 5G 版,本來想不解鎖 Bootloader 安心養老,奈何通過一般方式裝入的 Google 框架總會莫名其妙地被幹掉後台導緻 FCM 無法正常推送,無奈還是在第六天解鎖了 Bootloader 并刷入了 MIUI.eu。
完整的 Google 框架的确十分舒适,但同時它也帶來了幾個問題,其中對我影響最大的就是小米錢包(Mi Pay、小米公交)和小米推送的缺失。
本文便是我在本地化過程中的一些踩坑記錄和心得體會,希望可以對有需要的朋友有一些幫助。受限于篇幅,本文暫時隻介紹制作小米錢包 Magisk 模塊的方法。
為了解決這個問題我将目光投向了在小米 6 時代曾經使用過的 mipay-extract(GitHub),這是國内開發者開發的一個小工具,可以從 MIUI 國内版 ROM 中提取小米錢包相關文件并制作成卡刷包刷入手機(實際上也可以抽取别的 App,下文會講到)。
不過由于 Android 10 使用了 動态分區,刷入卡刷包這一步驟隻能在刷機完成後立馬進行(至少在我的 Redmi K30 5G 上是這樣),以及卡刷包會破壞 /system 分區的結構,導緻刷完之後無法進入系統,這個方法顯然已經行不通了。
之後我試着在群裡求助,有一個人提到「不是有 Magisk 版的小米錢包模塊麼」,這才想起來之前看到過類似的帖子,把小米錢包相關的文件做成了 Magisk 模塊刷入,這樣就不會破壞 /system 分區了。于是找到了 這篇文章,裡面提供了作者為 MIX 2S 制作的模塊,本着「不要重複造輪子」的心态,我直接下載了文章提供的模塊并刷入,結果重啟之後應用是有了,但是無法正常使用,提示「NFC 模塊異常,請重啟手機」。
這個懶看來是不能偷了,隻能自己動手了。
這裡首先還是要用到上文提到的 mipay-extract,首先從 GitHub 項目頁上點擊右側的 Clone or download → Download ZIP 将文件下載下來(作者并不推薦在 Windows 系統上使用 git clone 命令拷貝分支,因為可能會導緻潛在的換行符問題),下載後解壓到固定位置備用。
然後從 MIUI 官網 下載你所使用機型的最新的穩定版 ROM,下載完成後放入 mipay-extract 文件夾。
注:如果你隻需要小米錢包可跳過此步
如果需要加入如國内版應用商店等軟件,可以通過修改 deploy.sh 達到此目的,使用編輯器打開這個文件,找到 mipay_apps 字段,在後面加入你想添加的其他 App 名稱(清單可以在 這裡 找到),比如我加入了小米應用商店,就在後面加入 MiuiSuperMarket。
▲ 修改配置文件
Windows 用戶雙擊執行 deploy.bat,macOS / Unix 用戶請先在終端内使用 chmod x deploy.sh 為 deploy.sh 加入執行權限再運行(在 macOS / Unix 上還需要 JDK 以及 Python 2.7),或者使用 sh deploy.sh 運行腳本。經過漫長的等待,屏幕上提示 --> all done 便代表已經提取完畢,這時應該在目錄下面能看到一個以 mipay-機型代号-版本号.zip 格式命名的壓縮包。
▲ All Done
▲ 制作好的卡刷包
将壓縮包解壓,留待備用。
從 這裡 下載中文社區提供的 Magisk 模塊模闆,仍然是采用「Download ZIP」方式來下載。下載完成後将其解壓,得到如下圖所示的目錄結構:
▲ Magisk 模塊模闆
将 /system 目錄下的 placeholder 删除,然後将上一步所解壓的卡刷包中的 system/app 目錄複制過來,複制完成後的目錄結構應如下圖所示
▲ 正确的目錄結構
接着我們要來修改 config.sh 文件,print_modname 部分決定在刷入 Magisk 模塊時會顯示什麼,可以根據自己的喜好修改,這裡略過不表。
将文件第 57 行的 REPLACE 修改為 REPLACE_EXAMPLE(這裡應該是漢化時的失誤),然後在最後【自定義函數】的位置插入如下内容:
on_install() {
ui_print "- Extracting module files"
unzip -o "$ZIPFILE" 'system/*' -d $MODPATH >&2
}
保存退出。然後将整個模闆目錄下面的文件壓縮成 .zip 格式,這樣一個簡易的 Magisk 模塊就制作完成了。另外你還可以修改 module.prop 來更改你的模塊在 Magisk Manager 中的展示效果,少數派已有 文章 介紹,這裡也不再贅述。
将剛剛制作好的 Magisk 模塊傳輸到手機上,然後在 Magisk Manager 中刷入并重啟手機。
重啟之後在「系統設置 > 連接與共享 > NFC > 安全模塊位置」中選擇「内置安全模塊」,所有步驟就算順利完成啦!
之後就可以在小米錢包 App 中自由添加公交卡 / 銀行卡 / 門卡了。
▲ 刷卡界面效果圖
這是我在少數派寫下的第一篇文章,也是我第一次嘗試自己制作 Magisk 模塊,過程中雖繞了不少彎路,但是最後成功的那一刻還是十分開心的。文筆不佳,有稍顯啰嗦的地方還請各位看官見諒,我會努力改進的。
如果你對開頭提到的小米推送感興趣,不妨參考我的另一篇文章文章。同時我也還在研究如何恢複國内版 MIUI 的負一屏功能,希望大家多多支持。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!