安卓裁剪

項目二:安卓系統的裁剪

CPU Exynos4412,四核Cortex-A9,主頻爲1.4GHz-1.6GHz

在這裏插入圖片描述
1、安卓系統的裁剪總結:可以裁剪apk,主要是查看/system文件夾的內容,從這個文件夾入手,裁剪不必要的服務,庫文件,apk,等等.
具體裁剪內容:
在這裏插入圖片描述
1. build/target/product是編譯產品關鍵的mk文件存放處,此處可以更改各個mk文件編譯內容進行裁剪(這裏主要是系統自帶的一些app及服務如:計算器、天氣等)
base.mk文件:去除不必要的lib庫文件和bin文件
core_minimal.mk: dmtracedump, Shell, HTMLViewer, screencap等工具和apk等
core.mk: libnfc_ndef, mms-common nfc功能庫文件和mms短信功能等
embedded.mk: dumpstate, dumpsys
emulator.mk: camera.goldfish , camera.goldfish.jpeg , lights.goldfish , gps.goldfish等
full_base.mk: 去除不需要的庫和apk
full_base_telephony.mk: 去除apk和電話功能
generic_no_telephony.mk:去除apk和不必要的庫
languages_full.mk,locales_full.mk: 去除不需要的語言設置(可以去除res包的大小)
2. external/icu4c/stubdata/icu-data-default.txt: 修改此文件,去除編譯出的icu.dat文件大小,去除不需要的語言,重新用腳本生成想要的dat文件
external/skia/Android.mk: 去除其中test的編譯
3. frameworks/base/data/etc/platform.xml: 去除不需要的屬性
frameworks/base/data/fonts/Android.mk: 去除不需要的字體
frameworks/base/data/fonts/fallback_fonts.xml: 去除不需要的字體
frameworks/base/data/fonts/fonts.mk: 去除不需要的字體
4. frameworks/base/data/sounds/AllAudio.mk: 去除不需要的聲音文件(除了ui的保留,其他都可以去除)
frameworks/base/data/videos/VideoPackage1.mk: 去除不需要的視頻文件
frameworks/native/data/etc/handheld_core_hardware.xml: 去除不需要的屬性
frameworks/native/data/etc/tablet_core_hardware.xml: 去除不需要的屬性
frameworks/base/preloaded-classes: 裁剪不必要的資源加載
5. init.rc: 裁剪不需要的本地服務
system.prop: 裁剪不必要的屬性內容
6.device目錄下的

2.不可以刪除(15項)

1 AccountAndSyncSettings.apk 同步與帳戶設定

2 ApplicationsProvider.apk 應用程序支持服務

3 CertInstaller.apk 證書服務

4 ContactsProvider.apk 通訊錄/聯繫人數據存儲服務

5 DefaultContainerService.apk 默認通訊錄服務

6 DownloadProvider.apk 下載管理器

7 DrmProvider.apk DRM 受保護數據存儲服務

8 googlevoice.apk 這個是電話和短信功能

9 MediaProvider.apk 媒體數據存儲服務

10 MtkBt.apk 全球衛星定位系統接收器

11 PackageInstaller.apk 程序安裝

12 Phone.apk 電話撥號程序

13 Settings.apk 系統設置

14 SettingsProvider.apk 設置服務程序

2、安卓啓動過程:(1)系統上電,執行Bootloader引導程序。機器運行的第一個程序,他的工作是初始化操作系統的運行環境如:內存、定時器、緩衝器等等,然後加載內核,把內核文件(zImage)拷貝到內存中並啓動運行,到此完成任務。
(2)當內核加載到內存以後,系統將進行內核的初始化,對各種外設進行驅動初始化,並執行init進程,即系統的第一個進程。(主要包括搭建系統的軟件環境和初始化硬件環境,並在初始化結束以後執行用戶空間的Init進程。)
(3)Init進程通過解析Android系統鏡像中init.rc和init.<hardware—name>.rc文件來完成各種設備在Android系統上的初始化,並啓動守護進程。
(4)啓動Zygote進程,Zygote進程主要是用於初始化Dalvik虛擬機的工作環境並啓動Android系統第一個Dalvik虛擬機。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章