今天第一次看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. Redis报错 : (error) NOAUTH Authentication required.

    原文:Redis报错 : (error) NOAUTH Authentication required. 这个错误是因为没有用密码登陆认证 , 先输入密码试试 . 127.0.0.1:6379> ...

  2. Unity 获得Android Context上下文

    1.获取Context AndroidJavaObject context = new AndroidJavaClass ("com.unity3d.player.UnityPlayer&q ...

  3. JSTL标准标签库具体解释

    JSTL标签库的使用是为类弥补html表的不足.规范自己定义标签的使用而诞生的. 在告别modle1模式开发应用程序后.人们開始注重软件的分层设计,不希望在jsp页面中出现java逻辑代码,同一时候也 ...

  4. android 推断是否支持闪光灯

    近期在做录制视频功能,在找一些资料时发现 要推断是否支持闪关灯,在这记录下来,怕以后忘记 public static boolean isSupportCameraLedFlash(PackageMa ...

  5. Id选择器和Class选择器

    http://www.runoob.com/css/css-id-class.html http://www.w3school.com.cn/css/css_syntax_id_selector.as ...

  6. HDU 4372 Count the Buildings

    Count the Buildings Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Othe ...

  7. UVA 12649 Folding Machine 搜索

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  8. GridView单元格取值显示为&nbsp;

    在通过GridView取一个单元格(cell)的值时,数据库中为NULL,而页面上显示为空格.发现通过gridview.cell[i].text取出来的值为 ,导致获取数据出现问题. 解决方法: 一. ...

  9. 昼猫笔记--什么是DOM

    昼猫笔记--给你带来不一样的笔记 不止是笔记 更多的是思考 Hello,大家好,昼猫,今天来加深下DOM 什么DOM呢?它的全称叫 Document Object Model 通过全称可以知道它是 文 ...

  10. 学习参考《TensorFlow深度学习》高清中文版PDF+英文版PDF+源代码

    我们知道,TensorFlow是比较流行的深度学习框架,除了看手册文档外,推荐大家看看<Tensorflow深度学习>,共分5方面内容:基础知识.关键模块.算法模型.内核揭秘.生态发展.前 ...