为什么会有这个想法呢?
近期去公司实习的工程中,需要将android4.0 移植到A公司的x86平台上,但是A公司的X86平台是一个工控机,这样问题就来了, android系统上原来的app里面有的打电话,照相,联系人等等的功能的app,在工控机上肯定是没有相应的硬件的支持的,于是乎需要去掉这些不需要的app,怎么办呢?
device/common/generic_x86/packages.mk
这是genericX86的配置的默认的,我们可以看到:
# Common packages for Android-x86 platform.
PRODUCT_PACKAGES := \
BasicSmsReceiver \
Camera \
Development \
Galaxy4 \
GlobalTime \
HoloSpiralWallpaper \
JETBoy \
LiveWallpapers \
LiveWallpapersPicker \
LunarLander \
MagicSmokeWallpapers \
NoiseField \
NotePad \
PhaseBeam \
Provision \
RSSReader \
Snake \
SpareParts \
SpeechRecorder \
SoundRecorder \
Stk \
Superuser \
VideoEditor \
VisualizationWallpapers \
VoiceDialer \
camera.default \
chat \
com.android.future.usb.accessory \
drmserver \
eject \
gps.default \
hwcomposer.default \
icu.dat \
libdrmframework_jni \
libhuaweigeneric-ril \
lights.default \
make_ext4fs \
powerbtnd \
su \
v86d \
PRODUCT_PACKAGES += \
badblocks \
e2fsck \
mke2fs \
resize2fs \
tune2fs \
THIRD_PARTY_APPS = \
AndroidTerm \
FileManager \
LIME \
这个时候,我们看到了,Camera 去掉之,
还有一个方法就是,直接删除掉源代码(你也可以选择将他们打包)
在/packages/apps/中我们看到
[txf@localhost apps]$ ls
AndroidTerm Calculator CertInstaller Exchange HTMLViewer Music Protips SoundRecorder Superuser
BasicSmsReceiver Calendar Contacts FileManager KeyChain MusicFX Provision SpareParts VideoEditor
Bluetooth Camera DeskClock Gallery Launcher2 PackageInstaller QuickSearchBox SpeechRecorder VoiceDialer
Browser CellBroadcastReceiver Email Gallery2 Mms Phone Settings Stk
将他们的app文件夹全部打包
$ tar -cf bak.tar Camera Phone Contacts
然后,删除这些文件夹
$ rm -rfv Camera Phone Contacts
这样重新编译以后,就不会有这些app了