Android 编译系统二

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

droid :droidcore dist_files
droid 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  生成sdk
make  libandroid_runtime编译出所有framework的jni库
make framework 编译出所有的framework 的jar包
make services 编译出系统服务相关的模块

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

#将kernel镜像复制到目标系统里
ifeq($(TARGET_PREBUILT_KERNEL),)
.....
....
endif
PRODUCT_COPY_FILES :=\
                    $(LOCAL_KERNEL):kernel

#将linux系统初始化文件和分区表等复制到目标系统里
PRODUCT_COPY_FILES +=\
.....
.....

#定义系统支持的分辨率
PRODUCT_APPT_CONFIG :=normal hdpi xhdpi xxhdpi
PRODUCT_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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值