android系统4层架构(应用层,框架层,运行库层,内核层)之间,应用层通过框架对使用到库进行调用、内核负责内存管理进程调度等。通过在不同层上的裁剪可以实现部分功能的移出。例如:应用层上移出APK,相应应用无法使用;运行库层移出运行所需的库文件,所有调用该库文件均报错不能执行;在内核层上,通过config编译内核也可达到同样目的。
原文链接:http://www.cnblogs.com/sunshinewill/archive/2012/05/26/2519482.html
以裁剪蓝牙模块,从应用,库,内核三层进行介绍
内核层:
(后续文中将单独介绍内核编译方法),在内核编译中去除蓝牙支持:
Bluetooth subsystem support 选N,重新生成config文件,并使用该文件进行编译即可
通过对system.img进行修改,再将修改后的文件系统镜像重新打包成iso
应用层:
涉及到文件:
./etc/bluetooth/蓝牙设备配置文件
./app/Bluetooth.apk应用程序
./app/Bluetooth.odex
移除以上文件
系统运行库层:
在system.img的lib目录下
./lib/libbluetoothd.so蓝牙库
./lib/bluez-plugin/bluetooth-health.so支持蓝牙设备的健康状况设备库,可使用蓝牙医疗设备。
将以上两个部分库文件移除。