安卓裁剪

项目二:安卓系统的裁剪

CPU Exynos4412,四核Cortex-A9,主频为1.4GHz-1.6GHz

安卓裁剪_第1张图片
1、安卓系统的裁剪总结:可以裁剪apk,主要是查看/system文件夹的内容,从这个文件夹入手,裁剪不必要的服务,库文件,apk,等等.
具体裁剪内容:
安卓裁剪_第2张图片
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..rc文件来完成各种设备在Android系统上的初始化,并启动守护进程。
(4)启动Zygote进程,Zygote进程主要是用于初始化Dalvik虚拟机的工作环境并启动Android系统第一个Dalvik虚拟机。

你可能感兴趣的:(项目)