[MEMO] 在實體按鍵的行動裝置上啟用虛擬導覽列

前言

若造成使用者的任何損失,本人概不負責。

最近本人的手機實體觸控按鍵觸控異常,想要使用系統的虛擬導覽列。

想要在擁有實體按鍵的行動裝置上啟用虛擬按鍵必須使用較特殊的手段,需要修改系統分割區內的檔案。

由於正常情況下系統分割區資料是無法被更動的,所以手機必須解鎖(資料會遺失,請做好備份),並透過 Custom Recovery 或者取得 Root 權限對系統分割區進行修改。

實作

●修改方式 1. 更動系統分割區直接修改:

※警告: 此舉動會修改到系統分割區,可能會造成往後的系統 OTA 更新失敗,請確認手邊是否有與目前系統版本號碼相同的系統分割區映像檔,以在需要時進行還原。

另外請做好備份以及救援措施,以在無法正常開機時進行還原。

◉確認 /system/build.prop 被賦予的權限

◎方式1. 使用終端機: 

  • $ su -c ls – l /system/build.prop
    -rw——- 1 root root 16869 2019-11-07 21:44 /system/build.prop

◎方式2. 透過 Root Explorer 確認權限:

  • 切換到 /system
  • 反白選取 build.prop
  • 選單 → 更多 → Properties
  • 確認 Permissions 欄位:
    rw——-

◉然後使用 Root Explorer 的文字編輯器進行編輯:

※不要使用普通的文字編輯器,避免 SE Context 遺失造成無限重啟 (Bootloop)。


  • 新增以下的值:
    qemu.hw.mainkeys=0
  • 存檔離開。

◉再次確認權限是否與修改前一致。

權限沒有變化,不需做任何動作。

但若權限改變,則:

◎方式1. 使用終端機:

  • 修改 /system/build.prop
  • -rw——- 將其數字化表示爲 600 所以鍵入:
    $ su -c chmod 600 /system/build.prop

◎方式2. 透過 Root Explorer 修改權限:

  • 切換到 /system
  • 反白選取 build.prop
  • 選單 → 更多 → Permissions
  • rw——- 或填入數字 600
  • 重新開機。

若順利的話就會看到導覽列了。

●修改方式 2. 透過 Magisk 模組修改:

※請做好救援措施,以在無法正常開機時進行還原。

◉建立一個 Magisk 模組。


※若你是新手,不知道怎麼建立 Magisk 模組,請參閱 Magisk 開發人員指南:

https://topjohnwu.github.io/Magisk/guides.html


◉取得一個模組樣板

取得一個模組樣板,並依開發人員指南,做相對應的處理。

◉自訂模組


◎修改 “模組根目錄”/common/post-fs-data.sh:


在最下方加入以下文字:


resetprop qemu.hw.mainkeys 0


然後存檔。


◎修改 “模組根目錄”/install.sh:

將 POSTFSDATA 後方的 false 改成 true:

POSTFSDATA=true

存檔。

◉封裝模組

打包你的 Magisk 模組,將模組根目錄底下的檔案(不包含根目錄本身)打包成 zip 壓縮檔:

在這裡我使用 termux 終端機的 7z 二進位執行檔進行打包:

[2020/01/13 Mon 14:08] magisk-module-installer-master $ 7z a -tzip -mx=9 ../navi.zip .

打包後刷入後重新開機後如果順利就會看到虛擬導覽列了。

參考:   https://forum.xda-developers.com/chef-central/android/how-to-enable-navigation-bar-android-t3461012?fbclid=IwAR18JWOQZRKlw9lOOBQDprVfwGQGzLoqEZr-998xJs9GjiC82eWFc9cFhoM 

預設圖片
Huán-Hsüān Lín (WordPressLocal)
文章: 19