mtk和高通是如何把自己的内容打包到系统镜像中的
来源:互联网 发布:java动态表单 组件 编辑:程序博客网 时间:2024/06/05 14:11
有人问我这样一个问题,就是高通或者mtk是如何将自己的内容打包到system.img中的。接触编译比较少的,所以对这个还是陌生的,不过目前android的相关资料太详实了,自己看文章和追踪代码过程记录如下。文章首推“老罗Android之旅”,其中有4篇文章讲解编译系统的,这个是强烈推荐大家看的。
简略的原理如下:各个模块下都会有Android.mk文件,这个是编译脚本的片段。在一次Android系统的完整编译中,编译脚本会搜索所有子目录下的Android.mk,然后组合成一个完整的编译脚本,这样避免掉了文件间编译依赖冲突或循环的问题。要想将一个模块编译到system.img中,一定要有脚本将模块加入到PRODUCT_PACKAGES变量中,这个是唯一的条件。PRODUCT_PACKAGES不只是app哦,framework或者bin等都是要加入到其中的。
mtk打包代码分析
build/target/product/telephony.mk
PRODUCT_PACKAGES += \ CarrierConfig \ Dialer \ CallLogBackup \ rild
device/mediatek/common/device.mk
# MediaTek framework base modulesPRODUCT_PACKAGES += \ mediatek-common \ mediatek-framework \ CustomPropInterface \ mediatek-telephony-common
build目录下有诸多通用的脚本文件,不过在device的mediatek目录下又有个common文件夹,有点重复...,除了这两处,在项目的脚本里也可以配置。或者新写个文件,include到编译流程中。
高通打包代码分析
分析完mtk,再看高通,在build或者device搜索会发现一无所获,是高通更改了编译流程?其实并不是
vendor/qcom/proprietary/common/config/device-vendor.mk
#Qc extended functionality of android telephonyQTI_TELEPHONY_FWK := qti-telephony-commonQTI_TELEPHONY_FWK += QtiTelephonyServicelibrary...PRODUCT_PACKAGES += $(QTI_TELEPHONY_FWK)高通维护自己模块的脚本只有一处,修改起来比较方便。
阅读全文
0 0
- mtk和高通是如何把自己的内容打包到系统镜像中的
- 怎么把android的apk 应用程序打包到userdata.img镜像当中去?
- 怎么把android的apk 应用程序打包到userdata.img镜像当中去?
- MTK Phonebook 开机后如何把nvram 和sim 中的电话本记录读到MMI 来的?
- 如何把自己修改的内容推送到公司远程git库呢
- 把自己现在用的系统做成GHO镜像文件的几种方法
- MTK的android镜像 解包和打包( boot.img, system.img, userdata.img, or recovery.img)
- 把自己的python脚本打包上传到PYPI
- 如何在Linux系统下将Android的系统镜像system.img拆包,打包
- 如何把数据库中的内容绑定到CheckBoxList上?
- 如何把vim中的内容粘贴到外部
- 如何把自己的CSDN博客内容和百度搜索关联起来
- 关于如何把canvas中的内容转换为图片上传到服务器的操作过程
- 安卓中如何把普通文件打包进apk并且JNI中能自己读取文件内容
- 定制打包自己的ISO镜像(kickstart)
- 如何使用Android Studio把自己的Android library分享到jCenter和Maven Central
- 如何使用Android Studio把自己的Android library分发到jCenter和Maven Central
- 如何使用Android Studio把自己的Android library分享到jCenter和Maven Central
- RXAndroid2.0初学习四
- Dubbo与Zookeeper、SpringMVC整合和使用
- snail Android 第三方架包
- C#-using的另一种用法
- 算法系列-bitmap算法详解和实现
- mtk和高通是如何把自己的内容打包到系统镜像中的
- ubuntu-kylin 16.04 LTS +VM12pro+py2.7+tensorflow0.8.0+mnist
- 51nod 1182 完美字符串
- 关于游戏架构设计的一些整理吧
- HashMap和Hashtable的区别
- 七夕手势识别小程序,献给爱人
- AJAX
- 浏览器极速模式和兼容模式差异
- windows下seafile fsck工具使用方法