基于android5.1无显示触摸系统的系统镜像裁剪

来源:互联网 发布:excel不相同数据筛选 编辑:程序博客网 时间:2024/05/02 10:37

http://blog.csdn.net/qwertyuiop159158/article/details/50053551 

思路:

         1:   编译后查看out\target\product\product\system文件夹的内容,从这个文件夹入手,裁剪不必要的服务,库文件,apk,等等.
         2:  了解真个编译系统,从编译过程入手,看隐含的可裁剪项,过程和思路很重要
 具体裁剪内容:
         1: build/target/product是编译产品关键的mk文件存放处,此处可以更加各个mk文件编译内容进行裁剪
        base.mk文件:去除不必要的lib库文件和bin文件
        core_minimal.mk:  dmtracedump, Shell, HTMLViewer, screencap等工具和apk等
        core.mk:   libnfc_ndef, mms-common  nfc功能库文件和mms短信功能等
        embedded.mk:    dumpstate, dumpsys
         emulator.mk:     camera.goldfish , camera.goldfish.jpeg , lights.goldfish , gps.goldfish等
        full_base.mk:   去除不需要的库和apk
         full_base_telephony.mk: 去除apk和电话功能
        generic_no_telephony.mk:去除apk和不必要的库
        languages_full.mk,locales_full.mk: 去除不需要的语言设置(可以去除res包的大小)
         2:
             external/icu4c/stubdata/icu-data-default.txt: 修改此文件,去除编译出的icu.dat文件大小,去除不需要的语言,重新用脚本生成想要的dat文件即可
            external/skia/Android.mk: 去除其中test的编译
        3:
             frameworks/base/data/etc/platform.xml: 去除不需要的属性
            frameworks/base/data/fonts/Android.mk: 去除不需要的字体
            frameworks/base/data/fonts/fallback_fonts.xml: 去除不需要的字体
            frameworks/base/data/fonts/fonts.mk: 去除不需要的字体
   裁剪字体的时候,有部分字体是不可删除的以Roboto开头的如 Roboto-Black
        4:
             frameworks/base/data/sounds/AllAudio.mk: 去除不需要的声音文件(除了ui的保留,其他都可以去除)
             frameworks/base/data/videos/VideoPackage1.mk: 去除不需要的视频文件
            frameworks/native/data/etc/handheld_core_hardware.xml: 去除不需要的属性
            frameworks/native/data/etc/tablet_core_hardware.xml:  去除不需要的属性
            frameworks/base/preloaded-classes: 裁剪不必要的资源加载
        5:
             init.rc: 裁剪不需要的本地服务
            system.prop: 裁剪不必要的属性内容


 6.在内核裁剪不必要的模块




 7.其他具体操作:
 7.1 裁剪资源
 PRODUCT_AAPT_CONFIG := mdpi large
PRODUCT_AAPT_PREF_CONFIG := mdpi
 7.2 降低像素密度
  ro.sf.lcd_density=160
 7.3 裁剪语言
 PRODUCT_LOCALES := en_US zh_TW zh_CN
 7.4 去掉gms包
 #$(call inherit-product-if-exists, vendor/google/products/gms_base.mk)
7.5 去掉无用的权限 在/tablet_core_hardware.xml 中
 <permissions>


+  <!--  <feature name="android.hardware.location" />
     <feature name="android.hardware.location.network" />
-<!--
+
     <feature name="android.hardware.sensor.compass" />
--->
+
     <feature name="android.hardware.sensor.accelerometer" />
-<!--
-    <feature name="android.hardware.bluetooth" />
 -->
-    <feature name="android.hardware.touchscreen" />
-    <feature name="android.hardware.touchscreen.multitouch" />
-    <feature name="android.hardware.touchscreen.multitouch.distinct" />




     <!-- basic system services -->
-    <feature name="android.software.app_widgets" />
     <feature name="android.software.connectionservice" />
     <feature name="android.software.voice_recognizers" />
-    <feature name="android.software.backup" />
     <feature name="android.software.home_screen" />
     <feature name="android.software.input_methods" />
-    <feature name="android.software.print" />




7.6 去掉开机动画 和开机logo


7.7 打包(package.sh)的时候删除其他文件 包括 apk, 内核模块, bin文件
rm $OUT/system/vendor/modules/81*.ko
rm $OUT/system/vendor/modules/8723bs.ko
rm $OUT/system/vendor/modules/ad5820_act.ko
rm $OUT/system/vendor/modules/afa750.ko
rm $OUT/system/vendor/modules/ar0330.ko
rm $OUT/system/vendor/modules/aw5306_ts.ko
rm $OUT/system/vendor/modules/esp8089.ko
rm $OUT/system/vendor/modules/dw9714_act.ko
rm $OUT/system/vendor/modules/ft5x_ts.ko
rm $OUT/system/vendor/modules/fxos8700.ko
rm $OUT/system/vendor/modules/gc*.ko
rm $OUT/system/vendor/modules/gsl*.ko
rm $OUT/system/vendor/modules/gt*.ko
rm $OUT/system/vendor/modules/hi253.ko
rm $OUT/system/vendor/modules/icn83xx_ts.ko
rm $OUT/system/vendor/modules/imx214.ko
rm $OUT/system/vendor/modules/icn83xx_ts.ko
rm $OUT/system/vendor/modules/mcs7830.ko
rm $OUT/system/vendor/modules/mma*.ko
rm $OUT/system/vendor/modules/ov*.ko
rm $OUT/system/vendor/modules/rtl8150.ko
rm $OUT/system/vendor/modules/sp*.ko
rm $OUT/system/vendor/modules/bma250.ko
rm $OUT/system/vendor/modules/t8et5.ko
rm $OUT/system/vendor/modules/siv121d.ko
rm $OUT/system/vendor/modules/s5k4*.ko
rm $OUT/system/vendor/modules/qf9700.ko
rm $OUT/system/vendor/modules/vfe_os.ko
rm $OUT/system/vendor/modules/vfe_subdev.ko
rm $OUT/system/vendor/modules/vfe_v4l2.ko
rm $OUT/system/vendor/modules/videobuf-core.ko
rm $OUT/system/vendor/modules/videobuf-dma-contig.ko


rm -rf $OUT/system/app/Calculator
rm -rf $OUT/system/app/HoloSpiralWallpaper
rm -rf $OUT/system/app/Browser
rm -rf $OUT/system/app/Calendar
rm -rf  $OUT/system/app/Camera2
rm -rf  $OUT/system/app/Exchange2
rm -rf  $OUT/system/app/Email
rm -rf $OUT/system/app/Galaxy4
rm -rf $OUT/system/app/Gallery2
rm -rf $OUT/system/app/LiveWallpapers
rm -rf $OUT/system/app/LiveWallpapersPicker
rm -rf $OUT/system/app/PrintSpooler
rm -rf $OUT/system/app/VideoPlayer
rm -rf $OUT/system/app/QuickSearchBox
rm -rf $OUT/system/app/DownloadProviderUi
rm -rf $OUT/system/app/DeskClock
rm -rf $OUT/system/app/PhotoTable
rm -rf $OUT/system/app/HTMLViewer
rm -rf $OUT/system/app/Development
rm -rf $OUT/system/app/PicoTts
rm -rf $OUT/system/app/UserDictionaryProvider
rm -rf $OUT/system/app/Music
rm -rf $OUT/system/app/NoiseField
rm -rf $OUT/system/app/PhaseBeam
rm -rf $OUT/system/app/OpenWnn
rm -rf $OUT/system/app/VisualizationWallpapers
rm -rf $OUT/system/app/DocumentsUI
rm -rf $OUT/system/precopy
rm -rf $OUT/system/priv-app/Contacts
rm -rf $OUT/system/priv-app/CalendarProvider
rm -rf $OUT/system/priv-app/WallpaperCropper
rm -rf $OUT/system/priv-app/MmsService
rm -rf $OUT/system/priv-app/DownloadProvider
rm -rf $OUT/system/priv-app/TelephonyProvider
rm -rf $OUT/system/priv-app/ContactsProvider
rm -rf $OUT/system/priv-app/MusicFX
rm -rf $OUT/system/media/audio/notifications/*
rm  $OUT/system/bin/ntfs-3g.probe
rm  $OUT/system/bin/ntfs-3g
rm  $OUT/system/bin/gdbserver
rm  $OUT/system/bin/usb_modeswitch


7.8 裁剪TTS ,注释如下makefile
   external/skia/Android.mk
  external/svox/pico/lang/all_pico_languages.mk
阅读全文
0 0