Android Framwork

Android系统裁剪策略

2020-06-29  本文已影响0人  Franck2020

具体裁剪内容:

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:裁剪不必要的属性内容

上一篇下一篇

猜你喜欢

热点阅读