萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 手機 >  >> 手機應用 >> Android 教學

Android 系統目錄架構深度解析:/system/app、/system/bin、/system/etc、/system/fonts、/system/framework

理解 Android 系統分區目錄結構,是進行系統級修改、移除預裝程式、替換字體、調整核心參數、開發 Xposed 模組的基礎。本文詳細列舉 /system 主要子目錄核心檔案與功能對照,供開發者與進階玩家參考。

/system/app — 系統預裝應用程式 (APK + ODEX)

存放出廠預裝的系統級應用,使用者自行安裝的 APP 位於 /data/app。每個 APK 通常伴隨同名 .odex (優化後的 DEX 快取),加快首次啟動速度。刪除/替換此目錄檔案需 Root 並將 /system 重掛載為讀寫 (R/W)。

檔案功能
AlarmClock.apk/.odex鬧鐘
Browser.apk/.odex瀏覽器
Calculator.apk/.odex計算機
Calendar.apk/.odex行事曆
CalendarProvider.apk/.odex行事曆資料提供者
Camera.apk/.odex相機
Contacts.apk/.odex聯絡人
DownloadProvider.apk/.odex下載管理服務
DrmProvider.apk/.odexDRM 數位版權管理
Email.apk/.odex電子郵件客戶端
Gmail.apk/.odexGmail
GoogleSearch.apk/.odexGoogle 搜尋
Launcher.apk/.odex桌面啟動器
Maps.apk/.odexGoogle 地圖
MediaProvider.apk/.odex多媒體資料庫 (媒體掃描)
Mms.apk/.odex簡訊/彩信
Music.apk/.odex音樂播放器
PackageInstaller.apk/.odexAPK 安裝程式
Phone.apk/.odex撥號器/通話介面
Settings.apk/.odex系統設定
SettingsProvider.apk/.odex設定資料提供者
TelephonyProvider.apk/.odex電話/簡訊資料提供者
Vending.apk/.odexPlay Store (舊稱 Market)
YouTube.apk/.odexYouTube
... (其他)Bugreport、FieldTest、HTMLViewer、IM、Sync、Talk、VoiceDialer、Updater 等

/system/bin — 系統原生二進制執行檔 (Linux 工具鏈 + Android 專用)

對應 Linux 標準 /bin、/sbin,含核心系統服務、工具程式、硬體抽象層 (HAL) 守護程序。

檔案功能
app_processZygote 進程啟動器,孵化所有 App 進程
dalvikvm / artDalvik/ART 虛擬機宿主
debuggerd崩潰捕獲/墓碑生成
logcat系統日誌列印 (logcat 指令本體)
logwrapper日誌包裝器
surfaceflinger圖形合成器 (UI 渲染核心)
servicemanagerBinder 服務管理器 (服務註冊/查詢)
vold儲存卷管理守護程式 (掛載/解掛載/加密)
netcfg網路介面配置
rildRadio Interface Layer 守護程式 (基帶通訊)
toolbox / toybox精簡 Linux 指令集合 (ls, cp, mv, ps, chmod...)
installld應用安裝守護程式
keystore金鑰儲存服務
wpa_supplicantWi-Fi WPA 協商
dhcpcdDHCP 客戶端
... (其他)akmd, am, dumpsys, dumpstate, monkey, ping, playmp3, pm, qemud, sdptool, ssvc, sh, telnetd 等

/system/etc — 系統設定檔與資料庫

對應 Linux /etc,含 APN、GPS、音頻參數、權限、Wi-Fi、固件二進制 Blob 等關鍵配置。

檔案/目錄功能
apns-conf.xmlAPN 接入點資料庫 (運營商網路設定)
AudioFilter.csv / AudioPara4.csv音頻濾波器/參數表 (喇叭/麥克風/耳機調校)
bookmarks.xml / favorites.xml瀏覽器書籤/收藏夾預設資料
dbus.confD-Bus 訊息總線配置
gps.confGPS 設定 (SUPL 伺服器、AGPS 參數)
hosts本地 DNS 快取/封鎖清單
permissions.xml系統權限定義 (哪些 UID 擁有何種權限)
firmware/基帶、Wi-Fi、藍牙、觸控、感應器韌體二進制檔
wifi/Wi-Fi 驅動參數、wpa_supplicant.conf、固件二進制
dhcpcd/DHCP 客戶端掛載腳本
security/CA 憑證 (cacerts.bks)、OTA 驗證憑證 (otacerts.zip)
init.*.sh / init.*.rc啟動腳本 (init 語言),控制開機流程、服務啟動順序

/system/fonts — 字體檔案

含 Droid 字體家族:
DroidSans.ttf (預設無襯線)、DroidSans-Bold.ttf、DroidSansFallback.ttf (中日韓統一表意文字/回退字體、體積最大)、DroidSansMono.ttf (等寬)、DroidSerif-*.ttf (襯線字體)。
替換字體:Root 後將新字體重命名為對應檔名覆蓋 /system/fonts/,重啟生效。注意授權與語言覆蓋範圍。

/system/framework — 核心框架 JAR 與 ODEX

Android 執行環境核心類別庫,對應 Java API、Android API、製造商擴展 API。
關鍵檔案:
framework.jar (核心 API)、services.jar (系統服務)、android.policy.jar (視窗/按鍵策略)、ext.jar (擴展)、core.jar、framework2.jar、bouncycastle.jar (加密)、am.jar (Activity Manager)。
每個 JAR 皆有對應 .odex 優化快取。修改框架需反編譯 (apktool/baksmali)、修改 smali 碼、重新打包簽名、替換並清除 odex,風險極高,建議透過 Xposed/EdXposed 模組無侵入式修改。

進階提示

  • /system 分區通常為唯讀 (ro),修改前必須 mount -o remount,rw /system
  • 刪除/替換系統檔案前,務必備份原檔 (cp 至 /sdcard/backup/)
  • OTA 更新會檢查 /system 分區完整性 (dm-verity/AVB),任何修改會導致 OTA 失敗或進入恢復模式
  • 使用 ls -l /system、df -h、mount 確認分區掛載狀態

熟悉目錄架構,讓系統級客製化有章可循,避免盲目操作導致軟磚。

copyright © 萬盛學電腦網 all rights reserved