Android 编译系统二

来源:互联网 发布:大数据经典书籍 编辑:程序博客网 时间:2024/05/23 13:27

一、Android系统目标
Android build 系统的缺省编译目标是droid。droid目标会依赖其他目标,所有的目标共同组成了最终产品,下面是droid目标的定义:

droid :droidcore dist_filesdroid core :       files\                   systemimage\                   $(INSTALLED_BOOTIMAGE_TARGET) \                   $(INSTALLED_RECOVERYIMAGE_TARGET) \                   $(INSTALLED_USERDATAIMAGE_TARGET) \                   $(INSTALLED_CACHEIMAGE_TARGET) \                   $(INSTALLED_VENDORIMAGE_TARGET) \                   $(INSTALLED_FILES_FILE)files:            prebuild \                  $(modules_to_install) \                  $(INSTALLED_ANDROID_INFO_TXT_TARGET)prebuilt:         $(ALL_PREBUILT)

除了droid目标及其相关目标,build系统还有其他可以读了使用的目标。

make clean  清楚所有的编译结果make snod   重新打包make help  帮助make sdk  生成sdkmake  libandroid_runtime编译出所有framework的jni库make framework 编译出所有的framework 的jar包make services 编译出系统服务相关的模块

二、Android产品配置文件
主要是device.mk,它是产品配置经常需要修改的一个文件。产品定义中需要包含进的模块、文件、以及各种环境变量的定义一般都放在这个文件里。
主要有:

#将kernel镜像复制到目标系统里ifeq($(TARGET_PREBUILT_KERNEL),).........endifPRODUCT_COPY_FILES :=\                    $(LOCAL_KERNEL):kernel#将linux系统初始化文件和分区表等复制到目标系统里PRODUCT_COPY_FILES +=\..........#定义系统支持的分辨率PRODUCT_APPT_CONFIG :=normal hdpi xhdpi xxhdpiPRODUCT_APPT_PREF_CONFIG :=xxhdpi#指定系统的overlay目录DEVICE_PACKAGE_OVERLAYS :=\     device/../overlay#添加模块进系统PRODUCT_PACKAGES +=\    libutils\    loblogs#设置系统属性PRODUCT_PROPRETY_OVERRIDES +=\     ro.sf.lcd_density=480     persist.hwc.mdpcomp.enble=true#包含更多的配置文件$(call inherit-product-if-exits,hardware/qcome/msm.mk)