mk-编译信息的意义
今天第一次看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-编译信息的意义的更多相关文章
- NDK(11)Android.mk编译APK模板
转自 : http://hubingforever.blog.163.com/blog/static/1710405792011656434982/ 以下仅是使用Android.mk编译APK程序的 ...
- IAR编译信息分析
1.怎么设置可以查看单片的内存(消耗)使用状况? IAR的菜单栏 -->Tools -->IDE Options -->Messages -->Show build messa ...
- Android.mk编译APK范例
以下仅是使用Android.mk编译APK程序的一些范例. 如果你想了解Android.mk的更多内容请参考<Android.mk简介> 一.编译一个简单的APK LOCAL_PAT ...
- make V=1 查看完整的gcc编译信息
Linux内核make命令选项 2012年5月28日lenky发表评论阅读评论6,289 次浏览 升级Linux内核的操作已经变得很简单,基本的几个命令即可搞定:make menuconfig.m ...
- GPGPU OpenCL 获取kernel函数编译信息
使用OpenCL编程时,kernel写成一个单独的文件或者将文件内容保存在一个string中.可以使用clBuildProgram对kernel进行编译链接(compiles & links) ...
- STM32的堆与栈与编译信息查看
STM32的堆与栈与编译信息查看 因为一个项目中使用malloc函数动态分配内存400多个字节,返回为0,分配失败.查找失败原因,为堆空间不足分配导致.查看堆和栈分别设置了2K,按正常情况看应能满足分 ...
- 如何输出opencv编译信息
本文链接:https://mangoroom.cn/opencv/how-to-print-compile-info-of-opencv.html opencv提供了一个函数,利用这个函数可以输出当前 ...
- 01 android ndk入门实例之android.mk编译
前言 1 环境 android studio2.3 , window系统 2 ndk https://dl.google.com/android/repository/android-ndk-r16- ...
- Cocos移植到Android-Android.mk编译文件
我们在上一篇博客中年使用的cocos工具对于C和C++源代码进行编译.事实上cocos工具读取<游戏工程目录>\proj.android\jni\目录中的Android.mk文件,进行交叉 ...
- gcc/g++/make 编译信息带颜色输出
假设编译一个项目错误警告太多.很不好找,所以很希望输出信息能够带有颜色. 但是 gcc 4.9.0 之前的版本号并不支持,非常多情况下是不能替换编译器的,比方使用交叉编译器, 也能够使用 colorg ...
随机推荐
- Mysql学习总结(1)——常用sql语句汇总
一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...
- 给一个执行在windows 7和NAT下的VMWARE虚拟机分配固定IP
虚拟机上装了个oracleserver,每次vmware重新启动或者resume时总要分配新的IP地址,这样就得改动windows下的client配置,所以须要想办法把IP地址固定住. DHCP服务在 ...
- 关于Javascript的forEach 和 map
本篇博客转载自 https://blog.fundebug.com/2018/02/05/map_vs_foreach/ 如果你已经有使用JavaScript的经验,你可能已经知道这两个看似相同的方法 ...
- POJ 3257 DP
题意: 思路: 用vector存上本出发点能到的地方&成本&有趣指数(用结构体保存) 然后DP就好了 f[i][j]表示到了i 成本为j的有趣指数最大是多少 f[vec[i][k].e ...
- Red Hat Linux 安装 (本地、网络安装)
Red Hat Linux 安装 (本地.网络安装) 650) this.width=650;" onclick='window.open("http://blog.51cto.c ...
- Android studio 导入PullToRefresh
1.新建一个Android项目,下载好Android-PullToRefresh-master,并解压,找到library文件夹,我把他放在C:\import目录下,下面的都是根据箭头一步一步的点击即 ...
- MVC:一个View显示多个Model(多个Model你可以使用ViewBag或ViewData , 或者:Model["myInfo"] as)
MVC:一个View显示多个Model 多个Model你可以使用ViewBag或ViewData , 或者:Model["myInfo"] as. 比如: Tuple<str ...
- 用json2.js 代替 json.js防止与jQuery的js冲突
用json2.js 代替 json.js防止与jQuery的js冲突 1 s.toJSONString json.js:259 2 Object.toJSONString json.js:158 3 ...
- Codefroces A. Saitama Destroys Hotel
A. Saitama Destroys Hotel time limit per test 1 second memory limit per test 256 megabytes input sta ...
- Debian9.5 VNC Server远程桌面配置
VNC概述 VNC (Virtual Network Console)是虚拟网络控制台的缩写.VNC 是一款优秀的远程控制工具软件,由著名的 AT&T 的欧洲研究实验室开发的.VNC 是在基于 ...