内容有点长,想系统裁剪,这篇文章足矣,看完会对系统裁剪及系统有更深的认识。
前言:android系统裁剪优化一直是各个厂商定制产品的关键步骤,包括浅层次的去除不必要的apk(android apk裁剪定制 )和深层次的裁剪整个编译系统和框架层. android作为开源系统,各个产品同质化严重,只有深层次的裁剪定制自己的系统,才能充分体现各自产品的特性,也是优化各自产品的关键步骤,此篇文章主要关注编译系统和框架层的裁剪,抛砖引玉, 还有很多地方可以改进的地方,基于工作中时间限制,没有彻彻底底的进行,此处只是工作的实战篇,请拍砖引论,apk裁剪请看之前的单独文章(android apk裁剪定制 ).
思路:
android系统大而繁杂,对于不太熟悉android真个框架的朋友可以从真个思路入手:
1. 给予原生的代码镜像,adb shell进入单板, 主要是查看/system文件夹的内容,从这个文件夹入手,裁剪不必要的服务,库文件,apk,等等.
2. 了解整个编译系统,从编译过程入手,看隐含的可裁剪项,过程和思路很重要。
具体裁剪内容:
1. build/target/product是编译产品关键的mk文件存放处,此处可以更改各个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. 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: 裁剪不必要的属性内容
以上这些内容可以使得镜像大大的减少,包括参加apk内容,根据实践,镜像减少100M,当然还有可以裁剪的地方,请广大同胞搞点玉出来,我也好学习学习
1.系统自带apk作用及是否可删除,系统比较老,原理都差不多的。
Andriod 4.0.4系统包 |
Andriod 4.1.1系统包 |
说明 |
|
ApplicationsProvider.apk |
ApplicationsProvider.apk |
应用程序存储、 程序管理器(不可删) |
|
BackupRestoreConfirmation.apk |
BackupRestoreConfirmation.apk |
(不能删) |
|
Bluetooth.apk |
Bluetooth.apk |
蓝牙(不能删,你懂的) |
|
BooksTablet.apk |
Books.apk |
谷歌读书软件(可删,没用的看书软件,可用GGbook或者其他代替,没啥用,我删了) |
|
BrowserGoogle.apk |
BrowserGoogle.apk |
自带浏览器(可删,没啥用,我删了,反正我用UC浏览器) |
|
Calculator.apk |
Calculator.apk |
计算器(可删,鸡肋的计算器,可用其他多功能计算器代替,没啥用,我删了) |
|
CalendarGoogle.apk |
CalendarGoogle.apk |
日历(可删,鸡肋的日历,我删了,加个中华万年历) |
|
CalendarProvider.apk |
CalendarProvider.apk |
日历储存(可删,上面删了这个也要删) |
|
CameraGoogle.apk |
|
相机(不能删,系统自带的好过其他软件,我已经对比过很多照相软件都没自带的好.原生的强大啊! |
CertInstaller.apk |
CertInstaller.apk |
证书(不能删) |
|
ChromeBookmarksSyncAdapter.apk |
ChromeBookmarksSyncAdapter.apk |
书签同步(可删,没啥用,我删了) |
|
Contacts.apk |
Contacts.apk |
通讯录(不建议删,自带通讯录) |
|
ContactsProvider.apk |
ContactsProvider.apk |
联系人储存(不建议删,如果用QQ通讯录可直接删掉) |
|
|
Currents.apk |
新鲜汇(4.1.1新增,可删,没用过) |
|
DefaultContainerService.apk |
DefaultContainerService.apk |
软件包访问(不能删,删了不能安装软件了) |
|
DeskClockGoogle.apk |
DeskClockGoogle.apk |
时钟(可删,可用整点闹钟代替,没啥用,我删了) |
|
DownloadProvider.apk. |
DownloadProvider.apk |
下载提供(可删,那个下载内容,没啥用,我删了) |
|
DownloadProviderUi.apk |
DownloadProviderUi.apk |
下载提供UI(可删,没啥用,我删了) |
|
DrmProvider.apk |
DrmProvider.apk |
DRM受保护数据存储服务(不能删) |
|
EmailGoogle.apk |
EmailGoogle.apk |
电子邮件(可删,没用手机看邮件的可删,可用其他代替) |
|
ExchangeGoogle.apk |
Exchange2Google.apk |
电子邮件服务(可删,上面删了,这也删) |
|
FaceLock.apk |
FaceLock.apk |
人脸识别(不能删,删了就不能通过人脸锁屏了) |
|
GalleryGoogle.apk |
GalleryGoogle.apk |
图库 4.1.1包括了相机(不要删,很强大,很好用) |
|
GenieWidget.apk |
GenieWidget.apk |
新闻与天气(可删,没用的东西) |
|
Gmail.apk |
Gmail.apk |
谷歌邮箱(可删,没用谷歌邮箱都可以删,反正我就删了) |
|
|
GmsCore.apk |
谷歌PLAY服务(4.1.1新增,可删,不用Google PLAY的可删) |
|
GoogleBackupTransport.apk |
GoogleBackupTransport.apk |
谷歌备份传输(建议不删,不喜谷歌者或不需要可删,无FC) |
|
GoogleContactsSyncAdapter.apk |
GoogleContactsSyncAdapter.apk |
谷歌联系人同步适配器(可删,不喜谷歌者或不需要可删,无FC) |
|
|
GoogleEars.apk |
歌曲识别功能(可删,不怎么用) |
|
GoogleEarth.apk |
GoogleEarth.apk |
谷歌地球(可删,没啥用的东西,电脑上用还可以,手机简直无用) |
|
GoogleFeedback.apk |
GoogleFeedback.apk |
电子市场反馈(可删,不用自带的电子市场就可以删掉这个了,没啥用,反正我就删了) |
|
GoogleLoginService.apk |
GoogleLoginService.apk |
谷歌账户管理(可删,谷歌帐户,我从不用谷歌帐号的,我删了) |
|
GooglePartnerSetup.apk |
GooglePartnerSetup.apk |
谷歌合作伙伴(可删,要用谷歌的服务的别删.没啥用,我删了) |
|
GoogleQuickSearchBox.apk |
|
谷歌搜索(可删,要用谷歌搜索的别删.没啥用,我删了) |
|
GoogleServicesFramework.apk |
GoogleServicesFramework.apk |
谷歌服务构架(可删,不喜谷歌者或不需要可删,无FC) |
|
GoogleTTS.apk |
GoogleTTS.apk |
文字转语音(可删,没啥用的东西,反正我就删了) |
|
HoloSpiralWallpaper.apk |
HoloSpiralWallpaper.apk |
不能删,删了出FC |
|
HTMLViewer.apk |
HTMLViewer.apk |
HTML查看器(可删,没啥用,反正我删了,无FC) |
|
|
InputDevices.apk |
4.1.1新增,不能删 |
|
KeyChain.apk |
KeyChain.apk |
密码管理服务, 系统基本组件, 不可卸载(不能删) |
|
LatinImeDictionaryPack.apk |
LatinImeDictionaryPack.apk |
词典大全(可删.没啥用,,无FC) |
|
LatinImeGoogle.apk |
LatinImeGoogle.apk |
安卓键盘(可删,没啥用,可百度输入法替代) |
|
Launcher2.apk |
Launcher2.apk |
启动器(不能删,删了你就没有桌面,也就是用不了了,除非你用其他桌面软件替代 |
LiveWallpapers.apk |
LiveWallpapers.apk |
动态壁纸(可删,上面删看这个也要删) |
|
LiveWallpapersPicker.apk |
LiveWallpapersPicker.apk |
动态壁纸选择器(可删,反正我不用动态壁纸的,卡啊!,反正我就删了) |
|
|
Magazines.apk |
谷歌杂志(4.1.1新增,可删,没怎么用) |
|
Map.apk |
Maps.apk |
地图(可删,可用高德地图或者导航替代,没啥用,我删了) |
|
MediaProvider.apk |
MediaProvider.apk |
媒体储存(不能删,删除后会出现无法设置铃声) |
|
MediaUploader.apk |
MediaUploader.apk |
上传的内容(可删,不发彩信的可删) |
|
Microbes.apk |
|
微生物动态壁纸(可删,反正我不用动态壁纸的,我删了) |
|
Mms.apk |
Mms.apk |
短信(删除后接受不了彩信) |
|
Music2.apk |
Music2.apk |
音乐(可删,没有天天动听好用,反正我删了) |
|
MusicFX.apk |
MusicFX.apk |
音乐音效(可删,上面删了,这也删) |
|
NetworkLocation.apk |
NetworkLocation.apk |
提供网络位置(可删,删除后有时无法定位,GPS好的时候就没影响) |
Nfc.apk |
Nfc.apk |
近场通讯(可删,反正也用不上) |
|
NoiseField.apk |
NoiseField.apk |
动态壁纸(可删,反正我不用动态壁纸的,我删了) |
|
OneTimeInitializer.apk |
OneTimeInitializer.apk |
(建议不删,刷机后第一次启动用到的,现在没啥用了,我删了) |
PackageInstaller.apk |
PackageInstaller.apk |
打包安装管理(不能删) |
|
PhaseBeam.apk |
PhaseBeam.apk |
动态壁纸(可删,反正我不用动态壁纸的,我删了) |
|
Phone.apk |
Phone.apk |
手机拨号器(不能删) |
|
Phoneskyapk |
Phonesky.apk |
Google play电子市场(可删,反正不用电子市场,删了就不能从google play上下载软件了) |
|
PlusOne.apk |
PlusOne.apk |
google+社区软件(可删,没啥用,我删了) |
|
Settings.apk |
Settings.apk |
设置(不能删) |
|
SettingsProvider.apk |
SettingsProvider.apk |
设置储存(不能删) |
|
SetupWizard.apk |
SetupWizard.apk |
设置向导(不建议删,如果删了,在恢复出厂值开机的时候进不去) |
SharedStorageBackup.apk |
SharedStorageBackup.apk |
共享存储备份(不能删) |
|
SoundRecorder.apk |
SoundRecorder.apk |
录音机(建议不删,不用的可删) |
|
Stk.apx |
Stk.apk |
SIM卡管理程序(不可删) |
|
Street.apk |
Street.apk |
谷歌街景(可删,没啥用,我删了,大把软件替代) |
|
Superuser.apk |
Superuser.apk |
Root后才有的(当然不能删) |
|
SystemUI.apk |
SystemUI.apk |
系统用户界面(不能删) |
|
TagGoogle.apk |
TagGoogle.apk |
NFC标记(建议不删,删了NFC功能不能用) |
|
Talk.apk |
Talk.apk |
谷歌talk(可删,没啥用,反正我就删了) |
|
Talkback.apk |
talkback.apk |
盲人辅助(可删,在辅助功能里的,没啥用,反正我就删了) |
|
TelephonyProvider.apk |
TelephonyProvider.apk |
电话信息储存(不能删) |
|
Thinkfree.apk |
Thinkfree.apk |
文档软件(可删,没啥用,用其他文档软件可替代) |
|
UserDictionaryProvider.apk |
UserDictionaryProvider.apk |
我的字典(不能删,删了这个设置语言和输入法的时候会出现FC) |
|
Velvet.apk |
谷歌搜索(4.1.1新增,可删,要用谷歌搜索的别删) |
|
VideoEditorGoogle.apk |
VideoEditorGoogle.apk |
电影(可删,没啥用,反正我就删了) |
|
Videos.apk |
Videos.apk |
视频(可删,没啥用,反正我就删了) |
|
VisualizationWallpapers.apk |
VisualizationWallpapers.apk |
可视化壁纸(可删,反正我不用动态壁纸的,我删了) |
|
VoiceDialer.apk |
|
语音拨号器(可删,语音?那不如那国产山寨机哦,识别速度慢死了,有后天进程,我删了) |
|
VoiceSearch.apk |
|
语音搜索(可删,理由同上) |
|
|
VoiceSearchStub.apk |
语音搜索(4.1.1改名了 不用语音搜索的可删) |
|
v*p*nDialogs.apk |
v*p*nDialogs.apk |
v*p*n连接上网管理(不可删) |
|
YouTube.apk |
YouTube.apk |
(可删,国内都用不了,都被封了,建议都删) |
|
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 设置服务程序
15 TelephonyProvider.apk 拨号记录存储服务
建议保留(23项)
1 AcwfDialog.APK
2 apkCompassCH.apk 超级指南针(建议保留)
3 Bluetooth.apk 蓝牙(删了就没有蓝牙了)建议保留
4 Calculator.apk 计算器(自带计算器较弱,可用其他替代)
5 Camera.apk 自带相机(用360的可删)
6 Contacts.apk 通讯录/联系人(用第三方通讯录的可删)
7 DataDialog.apk 数据对话框 不确定,没删
8 DeskClock.apk 自带闹钟(用第三方闹钟的可删)
9 EngineerMode.apk 工程师模式 不确定,没删
10 ES_filemanager.apk 资源浏览器(建议保留)
11 fmradio.apk 收音机(可删)
12 Gallery3D.apk 相机相框 (可删)
13 GoLauncher.apk 桌面
14 Mms.apk 自带信息(可删,用第三方短信的就删了吧,提示:删了后,用handsms的的弹出短信框会变得延时,chomp没自带短信甚至不能使用)
15 Music.apk 自带音乐(可删,换成其他播放器)
16 Provision.apk 开机引导程序
17 SetupWizard.apk 开机引导(在定制rom时不可删,刷好机可用rootexplorer删掉,恢复出厂前要装回去)
18 SoundRecorder.apk 录音机(可用第三方录音软件替代)
19 Stk.apk s卡服务(可删,有机油把联系人复制在s卡上的就不要删它,删了可解决信号问题)
20 Superuser.apk 授权程序(就是程序列表上面那个,用这个获取root才有的)
21 Term.apk 访问终端的
22 VolumeControl.apk 音量控制中心
23 YGPS.apk 这个应该和GPS有关吧
可删除(57项)
1 Browser.apk 谷歌浏览器(喜欢UC的可用UC替代)
2 Calendar.apk 日历(不用日历的可删)
3 CalendarProvider.apk 日历程序支持服务(不用日历的可删)
4 ChtPack.apk touchpal输入法注音语言包(从来不用注音的删)
5 Email.apk Email(不用自带email接受邮件的可删)
6 facebook.apk facebook(用不到的删)
7 GenieWidget.apk 天气与新闻(我自己不用他看新闻,删了)
8 Gmail.apk Gmail邮件(可删)
9 GoogleBackupTransport.apk 谷歌备份(可删)
10 GoogleCalendarSyncAdapter.apk 谷歌日历同步适配器(可删)
11 GoogleContactsSyncAdapter.apk 谷歌联系人同步适配器(可删)
12 GoogleFeedback.apk 谷歌反馈(可删)
13 GooglePartnerSetup.apk 谷歌合作伙伴设置(可删)
14 GoogleQuickSearchBox.apk 谷歌搜索(删了影响到桌面的搜索插件)
15 GoogleServicesFramework.apk 谷歌同步支持服务框架(删了不能同步联系人,不能登录google)
16 HTMLViewer.apk HTML浏览器(本地看html,用不到可删)
17 HWCalla_TaiWan.apk 繁体中文手写输入法(可写简体的,不用手写的可删)
18 KaiXinAccountService.apk 未知程序,没敢删
19 LatinIME.apk android键盘输入法(可删)
20 LatinImeGoogle.apk 未知程序,没敢删 输入法谷歌,换百度输入了,删
21 LatinImeTutorial.apk android键盘输入法设置(可删)
22 Launcher2.apk 2.2原生桌面(用ADW和PRO的可删,删了以后第三方桌面要在开机以后从电脑安装,91,豌豆助手都可)
23 LiveWallpapers.apk 动态壁纸
24 LiveWallpapersPicker.apk 同上动态壁纸(可删)
25 LiveWalls.apk 动态壁纸(可删)
26 MagicSmokeWallpapers.apk 魔术烟雾壁纸
27 Maps.apk Google地图(可删,自行换成brust版本)
28 MarketUpdater.apk 谷歌市场升级(软件更新用到,可删)
29 MediaUploader.apk 媒体上传(可删)
30 MMITest_II.apk 工程模式里用到的手机测试程序(可删)
31 NetworkLocation.apk 网络位置(可删)
32 NotePad.apk 记事本(可删)
33 OneTimeInitiaLizer.apk 首次启动时用来装 Google Apps 的,可删除
34 PicoTts.apk 可删(文字语言转换的语音合成引擎,设置-语音输入与输出中)
35 PingYinIME.apk 拼音输入法
36 ProjectMenuAct.apk 工程菜单
37 Protips.apk 桌面小绿人插件(可删,就是有提示怎么玩手机)
38 RenRenAccountService.apk
39 SNSCommon.apk 常见的SNS,不需要,删
40 SnsContentProvider.apk SnS的内容提供商,删
41 SnsWidget.apk SnS的小工具,删
42 SnsWidget24.apk SnS社区,删
43 Soundback.apk 辅助功能 删
44 Street.apk 谷歌街道(可删,对于国内街道无效果的貌似,与地图关联)
45 Talk.apk 谷歌talk(可删,但删了就用不了电子市场)
46 Talkback.apk 辅助功能 删
47 TouchPal.apk TouchPal输入法(可删,但自带的三种输入法最好至少保留一种)
48 TtsService.apk Google TTS(Text-to-speech)语音库服务(可删)
49 TwidroydFree342-Huawei-rev1.apk twitter客户端(不用的删了)
50 Updataonline.apk 在线升级(可删)
51 UserDictionaryProvider.apk 用户数据字典服务(可删)
52 Vending.apk 电子市场(可删,不过不建议,很多软件的自动升级时候有它很方便)
53 VisualizationWalls.apk 动态音乐背景壁纸 (删了)
54 VoiceSearch.apk 语音搜索(可删,虽然看上去很美好,事实上我从未用过)
55 VpnServices.apk VPN服务(vpn服务,可删)
56 YouTube.apk YouTube视频(要vpn才能看,删了)
57 zhuyincangjieIME.apk 注音仓颉输入法,用百度了,删
注:转自网络,特供参考。