如何编译一个精简的Android系统
来源:互联网 发布:php json encode 乱码 编辑:程序博客网 时间:2024/06/08 21:17
本次试验使用的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应用程序,修改其源码后可以实现随系统的启动而自动启动的功能。
- 如何编译一个精简的Android系统
- 编译一个用于 VMworkstation 的精简内核
- 如何写一个精简的Makefile
- 精简Android系统下的APP
- 对一个论坛系统的ER建模(精简版)
- 对一个论坛系统的ER建模(精简版)
- Android ROM 的系统组成以及APK文件精简列表
- Android 源码编译的系统apk如何安装到手机
- Android系统如何运行动态编译的程序
- Android的编译系统
- Android的编译系统
- Android 的编译系统
- Android的编译系统
- Android的编译系统
- Android的编译系统
- Android的编译系统
- 如何在Android源码编译系统中添加一个C项目
- 如何在Android源码编译系统中添加一个Java项目
- grep 正则表达常用方法
- POJ 2049 广搜
- [Erlang 0083] All about Erlang Shell
- MySpace Mapreduce Framework:Qizmt
- 将SQLite移植到ARM上
- 如何编译一个精简的Android系统
- [Erlang 0082] Erlang Web Servers & Frameworks
- C++之智能指针
- S3C2440裸机程序开发点亮LED
- [Erlang 0081] RabbitMQ Topic Exchanges Routing Rules
- [Erlang 0080] RabbitMQ :VHost,Exchanges, Queues,Bindings and Channels
- 【小点处理】停止某端口服务
- 关于linux yum安装目录笔记(以apache的安装路径为例)
- Epoll学习总结