既簡潔又方便,國際版 MIUI 也能用上小米錢包刷公交

前些日子入手了 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 模塊異常,請重啟手機」。

這個懶看來是不能偷了,只能自己動手了。

自己動手,製作 Magisk 模塊

準備文件

這裡首先還是要用到上文提到的 mipay-extract,首先從 GitHub 項目頁上點擊右側的 Clone or downloadDownload ZIP 將文件下載下來(作者並不推薦在 Windows 系統上使用 git clone 命令拷貝分支,因為可能會導致潛在的換行符問題),下載後解壓到固定位置備用。

然後從 MIUI 官網 下載你所使用機型的最新的穩定版 ROM,下載完成後放入 mipay-extract 文件夾。

修改 mipay-extract 配置文件

注:如果你只需要小米錢包可跳過此步

如果需要加入如國內版應用商店等軟件,可以通過修改 deploy.sh 達到此目的,使用編輯器打開這個文件,找到 mipay_apps 字段,在後面加入你想添加的其他 App 名稱(清單可以在 這裡 找到),比如我加入了小米應用商店,就在後面加入 MiuiSuperMarket。

既簡潔又方便,國際版 MIUI 也能用上小米錢包刷公交

▲ 修改配置文件

製作卡刷包

Windows 用戶雙擊執行 deploy.bat,macOS / Unix 用戶請先在終端內使用 chmod +x deploy.sh 為 deploy.sh 加入執行權限再運行(在 macOS / Unix 上還需要 JDK 以及 Python 2.7),或者使用 sh deploy.sh 運行腳本。經過漫長的等待,屏幕上提示 --> all done 便代表已經提取完畢,這時應該在目錄下面能看到一個以 mipay-機型代號-版本號.zip 格式命名的壓縮包。

既簡潔又方便,國際版 MIUI 也能用上小米錢包刷公交

▲ All Done

既簡潔又方便,國際版 MIUI 也能用上小米錢包刷公交

▲ 製作好的卡刷包

將壓縮包解壓,留待備用。

製作 Magisk 模塊

從 這裡 下載中文社區提供的 Magisk 模塊模板,仍然是採用「Download ZIP」方式來下載。下載完成後將其解壓,得到如下圖所示的目錄結構:

既簡潔又方便,國際版 MIUI 也能用上小米錢包刷公交

▲ Magisk 模塊模板

將 /system 目錄下的 placeholder 刪除,然後將上一步所解壓的卡刷包中的 system/app 目錄複製過來,複製完成後的目錄結構應如下圖所示

既簡潔又方便,國際版 MIUI 也能用上小米錢包刷公交

▲ 正確的目錄結構

接著我們要來修改 config.sh 文件,print_modname 部分決定在刷入 Magisk 模塊時會顯示什麼,可以根據自己的喜好修改,這裡略過不表。

將文件第 57 行的 REPLACE 修改為 REPLACE_EXAMPLE(這裡應該是漢化時的失誤),然後在最後【自定義函數】的位置插入如下內容:

<code>on_install() {
ui_print "- Extracting module files"
unzip -o "$ZIPFILE" 'system/*' -d $MODPATH >&2
}/<code>

保存退出。然後將整個模板目錄下面的文件壓縮成 .zip 格式,這樣一個簡易的 Magisk 模塊就製作完成了。另外你還可以修改 module.prop 來更改你的模塊在 Magisk Manager 中的展示效果,少數派已有 文章 介紹,這裡也不再贅述。

刷入手機並修改手機設置

將剛剛製作好的 Magisk 模塊傳輸到手機上,然後在 Magisk Manager 中刷入並重啟手機。

重啟之後在「系統設置 > 連接與共享 > NFC > 安全模塊位置」中選擇「內置安全模塊」,所有步驟就算順利完成啦!

之後就可以在小米錢包 App 中自由添加公交卡 / 銀行卡 / 門卡了。

既簡潔又方便,國際版 MIUI 也能用上小米錢包刷公交

▲ 刷卡界面效果圖

結語

這是我在少數派寫下的第一篇文章,也是我第一次嘗試自己製作 Magisk 模塊,過程中雖繞了不少彎路,但是最後成功的那一刻還是十分開心的。文筆不佳,有稍顯囉嗦的地方還請各位看官見諒,我會努力改進的。

如果你對開頭提到的小米推送感興趣,不妨參考我的另一篇文章文章。同時我也還在研究如何恢復國內版 MIUI 的負一屏功能,希望大家多多支持。


分享到:


相關文章: