ImageVerifierCode 换一换
格式:DOC , 页数:4 ,大小:18KB ,
资源ID:7051419      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-7051419.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(android.mk文件的一点感悟.doc)为本站会员(pw17869)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

android.mk文件的一点感悟.doc

1、Android Android.mk 文件一点感悟Android.mk文件时android 中的一个非常重要的概念。我们有以下几个方便的时候需要使用它。1:添加新的 apk源码文件编译。这里我们先参考下AlarmClock的Android.mk文件LOCAL_PATH:= $(call my-dir)include $(CLEAR_VARS)LOCAL_SRC_FILES := $(call all-subdir-java-files)LOCAL_PACKAGE_NAME := AlarmClockinclude $(BUILD_PACKAGE)简单的解释下:第一行,赋予LOCAL_PATH一

2、个新的值,表示当前的路径。第二行,清楚所有的系统自带的标准变量值。我 们通过查找CLEAR_VARS变量定义,可以发现它实际上代表的是sourcebuildcoreconfig.mk中有定义如下:CLEAR_VARS:= $(BUILD_SYSTEM)/clear_vars.mk所以查看clear_vars.mk文件可以得到知道:# Clear out values of all variables used by rule templates.#LOCAL_MODULE:=LOCAL_MODULE_PATH:=LOCAL_MODULE_STEM:=LOCAL_DONT_CHECK_MODUL

3、E:=LOCAL_CHECKED_MODULE:=LOCAL_BUILT_MODULE:=LOCAL_BUILT_MODULE_STEM:=OVERRIDE_BUILT_MODULE_PATH:=它把这些变量都清空了。注意它这里没有去清空LOCAL_PATH变量。所以这个步骤放在第二行,是没有关系的。它的这个写法有点误导人哈。第三、四行,给变量赋予新值。这里赋予的是LOCAL_SRC_FILES,LOCAL_PACKAGE_NAME第五行,执行BUILD_PACKAGE。它的定 义也是在 config.mk中定义如下:BUILD_PACKAGE:= $(BUILD_SYSTEM)/packag

4、e.mk,更多更加具体的,自己去看看吧。这里其实有很多的,# # Build system internal files# #BUILD_COMBOS:= $(BUILD_SYSTEM)/comboCLEAR_VARS:= $(BUILD_SYSTEM)/clear_vars.mkBUILD_HOST_STATIC_LIBRARY:= $(BUILD_SYSTEM)/host_static_library.mkBUILD_HOST_SHARED_LIBRARY:= $(BUILD_SYSTEM)/host_shared_library.mkBUILD_STATIC_LIBRARY:= $(BU

5、ILD_SYSTEM)/static_library.mkBUILD_RAW_STATIC_LIBRARY := $(BUILD_SYSTEM)/raw_static_library.mkBUILD_SHARED_LIBRARY:= $(BUILD_SYSTEM)/shared_library.mkBUILD_EXECUTABLE:= $(BUILD_SYSTEM)/executable.mkBUILD_RAW_EXECUTABLE:= $(BUILD_SYSTEM)/raw_executable.mkBUILD_HOST_EXECUTABLE:= $(BUILD_SYSTEM)/host_e

6、xecutable.mkBUILD_PACKAGE:= $(BUILD_SYSTEM)/package.mkBUILD_HOST_PREBUILT:= $(BUILD_SYSTEM)/host_prebuilt.mkBUILD_PREBUILT:= $(BUILD_SYSTEM)/prebuilt.mkBUILD_MULTI_PREBUILT:= $(BUILD_SYSTEM)/multi_prebuilt.mkBUILD_JAVA_LIBRARY:= $(BUILD_SYSTEM)/java_library.mkBUILD_STATIC_JAVA_LIBRARY:= $(BUILD_SYST

7、EM)/static_java_library.mkBUILD_HOST_JAVA_LIBRARY:= $(BUILD_SYSTEM)/host_java_library.mkBUILD_DROIDDOC:= $(BUILD_SYSTEM)/droiddoc.mkBUILD_COPY_HEADERS := $(BUILD_SYSTEM)/copy_headers.mkBUILD_KEY_CHAR_MAP := $(BUILD_SYSTEM)/key_char_map.mk基本上你有用到的就已经提前给你设计好了。你要做的很简单了。这里的思想其实和makefile的是一样的。目标:信赖文件执行命令

8、只是Android在这里进行了高度的封装和简化。前面四行相当于设置目标文件。最后一行相当于执行命令。所以,如果我们要添加自己的apk, 就按照这种思想添加就可以了。2:变量的使用makefile文件有一个基础的东西就是变量。大家可以自己了解下。这里我们说说Android.mk这个变量的不同的地方。主要是用它来做代 码管理。这个部分是我同事小强总结出来的,我就cp过来。替它总结下。首先在执行make文件的时候这些变量是全局有效的,一些公共的变量会通过include $(CLEAR_VARS)给清除掉。我们这里主要是添加自己的 变量。我们在使用自己定义变量的时候有两种情况,一种是在mk中使用,一种

9、是在 cpp中使用。注意java不支持的。这两种情况有点不同,请注意。首先我们得定义这个变量,一般来讲都是在产品的BoardConfig.mk中定义,例如:TARGET_MEMORY_STYLE := TARGET_MEM_256MB#TARGET_MEMORY_STYLE := TARGET_MEM_256MB_ST#TARGET_MEMORY_STYLE := TARGET_MEM_512MB#TARGET_MEMORY_STYLE := TARGET_MEM_512MB_ST# board-specific configurationBOARD_OPENCORE_FLAGS := -DT

10、ELECHIPS_ALSAifeq ($(BOARD_KERNEL_BASE),0x40000000)BOARD_MEM_FLAGS := -DTCC_MEM_256MBelseBOARD_MEM_FLAGS := -DTCC_MEM_512MBendif这里总共有两个我们经常用的东西。第一:如果是mk总使用,定义如前四行就可以了。变量 := 字符串在mk中的使用方法就像后面例子一样。ifeq($(变量),对比值)elseendif第二:如果你想在cpp中使用, 请定义方式如下变量 := -D+变量名如后面几行示例一样的。如果想在cpp中应用,首先必 须在cpp对于的mk文件中,声明如下LOCAL_CFLAGS += $(BOARD_MEM_FLAGS)格式: LOCAL_CFLAGS += $(变量)然后它的cpp中就可以引用如下:此时去掉了-D前缀。ifdef TCC_MEM_512MBendif

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报