今天第一次看Android.mk文件,内容如下

 # Copyright 2007-2008 The Android Open Source Project
2
3 LOCAL_PATH:= $(call my-dir)
4 include $(CLEAR_VARS)
5 # Include res dir from chips
6 chips_dir := ../../../frameworks/ex/chips/res
7 res_dirs := $(chips_dir) res
8
9 $(shell rm -f $(LOCAL_PATH)/chips)
10
11 LOCAL_MODULE_TAGS := optional
12
13 LOCAL_SRC_FILES := $(call all-java-files-under, src)
14
15 LOCAL_PACKAGE_NAME := Mms
16 LOCAL_JAVA_LIBRARIES += mediatek-framework
17 LOCAL_JAVA_LIBRARIES += CustomProperties
18 # Builds against the public SDK
19 #LOCAL_SDK_VERSION := current
20
21 LOCAL_JAVA_LIBRARIES += telephony-common mms-common
22 LOCAL_JAVA_LIBRARIES += mediatek-telephony-common
23 LOCAL_STATIC_JAVA_LIBRARIES += android-common
24 LOCAL_STATIC_JAVA_LIBRARIES += jsr305
25 LOCAL_STATIC_JAVA_LIBRARIES += CellConnUtil
26 #LOCAL_STATIC_JAVA_LIBRARIES += wappush
27 LOCAL_STATIC_JAVA_LIBRARIES += com.android.vcard
28 LOCAL_STATIC_JAVA_LIBRARIES += android-common-chips
29 LOCAL_STATIC_JAVA_LIBRARIES += com.mediatek.mms.ext
30
31 LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))
32 LOCAL_AAPT_FLAGS := --auto-add-overlay
33 LOCAL_AAPT_FLAGS += --extra-packages com.android.ex.chips
34
35 LOCAL_REQUIRED_MODULES := SoundRecorder
36
37 LOCAL_PROGUARD_FLAG_FILES := proguard.flags
38
39 LOCAL_PRIVILEGED_MODULE := true
40
41 include $(BUILD_PACKAGE)
42
43 # This finds and builds the test apk as well, so a single make does both.
44 include $(call all-makefiles-under,$(LOCAL_PATH))
chips_dir := ../../../frameworks/ex/chips/res:说的是,它编译的时候会自动把这个路径下生成的文件编译进来,当然,前提是你这个路径也要进行单独编译才行
com.android.vcard:联系人
com.mediatek.mms.ext:mediatek目录

这个android.mk的工作原理还不是很清除,不过,第一感觉就是,如果一个目录下没有这个文件,那么这个目录就不可以进行编译

我们以MMS为例
mms接收者输入框在你输入某个数字的时候,它会自动下拉一个联系人列表。而这个输入框你会发现,它最终继承自 /mediatek/frameworks-ext/ex/chips/src/com/android/ex/chips$  下的 MTKRecipientEditTextView.java 你进入MTKRecipientEditTextView.java,会发现它的包名是
package com.android.ex.chips;

它的包名跟

frameworks/ex/chips/src/com/android/ex/chips/

路径是一样的

所以,我们修改了mediatek/frameworks-ext/ex/chips/src/com/android/ex/chips$ 的内容的时候,我们编译的话,使用的命令就是

./makeMtk mm frameworks/ex/chips/;./makeMtk mm package/app/Mms

另外还有一点就是,你在MTKRecipientEditTextView.java代码中会发现如下命令

mDefaultContactPhoto = BitmapFactory.decodeResource(r, R.drawable.ic_contact_picture);

它资源引用的是R.

所以,我们可以断定这个图片资源是存在frameworks/ex/chips目录下的

												

mk-编译信息的意义的更多相关文章

  1. NDK(11)Android.mk编译APK模板

    转自 :  http://hubingforever.blog.163.com/blog/static/1710405792011656434982/ 以下仅是使用Android.mk编译APK程序的 ...

  2. IAR编译信息分析

    1.怎么设置可以查看单片的内存(消耗)使用状况? IAR的菜单栏 -->Tools -->IDE Options -->Messages -->Show build messa ...

  3. Android.mk编译APK范例

    以下仅是使用Android.mk编译APK程序的一些范例. 如果你想了解Android.mk的更多内容请参考<Android.mk简介> 一.编译一个简单的APK    LOCAL_PAT ...

  4. make V=1 查看完整的gcc编译信息

    Linux内核make命令选项 2012年5月28日lenky发表评论阅读评论6,289 次浏览   升级Linux内核的操作已经变得很简单,基本的几个命令即可搞定:make menuconfig.m ...

  5. GPGPU OpenCL 获取kernel函数编译信息

    使用OpenCL编程时,kernel写成一个单独的文件或者将文件内容保存在一个string中.可以使用clBuildProgram对kernel进行编译链接(compiles & links) ...

  6. STM32的堆与栈与编译信息查看

    STM32的堆与栈与编译信息查看 因为一个项目中使用malloc函数动态分配内存400多个字节,返回为0,分配失败.查找失败原因,为堆空间不足分配导致.查看堆和栈分别设置了2K,按正常情况看应能满足分 ...

  7. 如何输出opencv编译信息

    本文链接:https://mangoroom.cn/opencv/how-to-print-compile-info-of-opencv.html opencv提供了一个函数,利用这个函数可以输出当前 ...

  8. 01 android ndk入门实例之android.mk编译

    前言 1 环境 android studio2.3 , window系统 2 ndk https://dl.google.com/android/repository/android-ndk-r16- ...

  9. Cocos移植到Android-Android.mk编译文件

    我们在上一篇博客中年使用的cocos工具对于C和C++源代码进行编译.事实上cocos工具读取<游戏工程目录>\proj.android\jni\目录中的Android.mk文件,进行交叉 ...

  10. gcc/g++/make 编译信息带颜色输出

    假设编译一个项目错误警告太多.很不好找,所以很希望输出信息能够带有颜色. 但是 gcc 4.9.0 之前的版本号并不支持,非常多情况下是不能替换编译器的,比方使用交叉编译器, 也能够使用 colorg ...

随机推荐

  1. 深入理解void以及void指针的含义

    void的含义 void即“无类型”,void *则为“无类型指针”,可以指向任何数据类型. void指针使用规范 ①void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对void指针赋值. ...

  2. 【Henu ACM Round#20 D】 Devu and Partitioning of the Array

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 一开始所有的数字单独成一个集合. 然后用v[0]和v[1]记录集合的和为偶数和奇数的集合它们的根节点(并查集 然后先让v[0]的大小 ...

  3. mysql中lock tables与unlock tables(锁表/解锁)使用总结

    php mysql lock tables 使用有感 mysql 的 表锁 lock tables 感觉就像一个 封闭的空间 mysql发现 lock tables 命令的时候,会将带有锁标记的表(t ...

  4. NYOJ_77 开灯问题

    题目地址 分析: 用一个数组来保存每盏灯的操作的次数.推断奇偶就可以推断灯的状态. 最后的输出格式须要注意一下空格的位置,思路就是现输出一个.剩下来的输出在前面加一个空格. 空格用_表示: 1_3_5 ...

  5. [React] Pass a function to setState in React

    In React, when you want to set the state which calculation depends on the current state, using an ob ...

  6. BZOJ1685: [Usaco2005 Oct]Allowance 津贴

    [传送门:BZOJ1685] 简要题意: 贝西工作勤勤恳恳,她每月向约翰索要C 元钱作为工资.约翰手上有不少钱,他一共有N 种面 额的钞票.第i 种钞票的面额记作Vi,约翰有Ki 张.钞票的面额设定是 ...

  7. USACO2011 Jan:公司利润

    简要题意: 奶牛开了家公司,已经连续运作了N 天.它们在第i 天获得了Ai元的利润,不过有些天是亏钱的,这种情况下利润就是一个负数.约翰想为它们写个新闻,吹嘘它们的惊人业绩.请你帮助他选出一段连续的日 ...

  8. 快速定位java系统的线上问题--转

    原文地址:http://m.blog.csdn.net/article/details?id=43376943 前言:我们的场景并没有像BAT等大型互联网公司里的系统那么复杂,但是基本上也有一定的规模 ...

  9. Python(二) 表示‘组’的概念与定义

    现实世界中总存在一组一组的事物, 一.列表的定义 type(['hello','world',1,9,True,False]) = <class 'list'> type([[1,2,3, ...

  10. SQL函数-str()

    1 str()函数用于将数值类型数据转换未字符类型. 2 str()函数语法 select str(数字类型的表达式[,表达式总长度][,小数点后面的位数]) 表达式总长度和小数点后面的位数为可选择参 ...