如何编译一个精简的Android系统

本次试验使用的android源码是4.2,编译的架构是mini-mips。


一、所做的工作

1、修改build/target/product/mini.mk,去掉一些不必要的模块(例如Phone、DownloadManager等)
2、修改SystemServer.java,屏蔽一些service,让系统能够启动起来(例如,Location Manager、Telephony Registry)
3、修改dalvik/vm/native/dalvik_system_Zygote.cpp,注释掉因为检查不到外部存储而导致dalvik abort的地方 (这是googel的一个bug,在2013年1月份已解决,如果用这以后的代码不用修改此处)
4、修改WindowManagerService.java,把发送BOOT_TIMEOUT消息的时间改为0(之前为30秒)


二、系统优化后的效果(验证工作均在mips模拟器上进行)
1、节省运行内存,下面是全编译与mini编译的内存使用状态的对比
1)full build
MemTotal:         499360 kB
MemFree:         242064 kB
2)mini build
MemTotal:         499360 kB
MemFree:         395192 kB

2、缩短开机启动时间
在虚拟机上的启动时间
1)full build-29秒
2)mini build-14秒

3、只启动home程序,其余的应用程序均被移除


三、保留android的开发环境
1、adb,ddms,apkinstall等,都能正常工作
2、在eclipse中编写的android应用程序能够运行在该mini-android之上


四、开机自动启动指定应用程序
本次测试使用Gallery.apk应用程序,修改其源码后可以实现随系统的启动而自动启动的功能。


你可能感兴趣的:(mini-android)