Android系统裁剪策略
具体裁剪内容:
1.去除APK、Lib、so、bin等资源
build/target/product是编译产品关键的mk文件存放处
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.去除test编译
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资源
init.rc:裁剪不需要的本地服务
system.prop:裁剪不必要的属性内容