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支持藍牙設備的健康狀況設備庫,可使用藍牙醫療設備。
將以上兩個部分庫文件移除。