android.mk中几个常见配置
1.LOCAL_JACK_ENABLED
这个变量可以禁止使用Jack编译工具链编译该模块。在工作中,个人感觉目前jack工具链不是很稳定,经常会出现一些错误,比如:
ERROR: Security problem, see Jack server log (/tmp/jack-liujinwei/jack-8072.log)
这个时候,我就会在Android.mk中禁止该工具链。
禁止方法如下:
LOCAL_JACK_ENABLED := disabled
2.LOCAL_DEX_PREOPT
这个变量设置为false可以使整个系统使用提前优化的时候,某个app不使用提前优化。在Android.mk中给该变量赋值为false,则编译生成的文件没有oat文件,也就意味着没有被提前优化。
LOCAL_DEX_PREOPT := false
3.WITH_DEXPREOPT
这个变量的使能导致system image中的所有东西都被提前优化(pre-optimized)。这可能导致system image非常大。
WITH_DEXPREOPT := true
4.DONT_DEXPREOPT_PREBUILTS
WITH_DEXPREOPT := true
DONT_DEXPREOPT_PREBUILTS := true
这两个组合使用,可以使那些 prebuild的app不会被提前优化(pre-optimized),即就是那些在Android.mk中包含intclude $(BUILD_PREBUILT)的app都不会被提前优化
5.WITH_DEXPREOPT_BOOT_IMG_ONLY
WITH_DEXPREOPT := true
WITH_DEXPREOPT_BOOT_IMG_ONLY := true
这两个组合使用只会优化boot image。
6.LOCAL_MODULE_TAGS
LOCAL_MODULE_TAGS :=user eng tests optional
user: 指该模块只在user版本下才编译
eng: 指该模块只在eng版本下才编译
tests: 指该模块只在tests版本下才编译
optional:指该模块在所有版本下都编译
7.LOCAL_PATH
当前目录,使用LOCAL_PATH := $(call my-dir)获取当前目录,
LOCAL_PATH不会被include $(CLEAR_VARS) 清理。
8.LOCAL_MODULE
模块名,在模块编译的时候,LOCAL_MODULE的值会被赋予ALL_MODULE,ALL_MODULE包含了系统所有模块,这些模块会更具系统的其他配置进一步筛选,最终筛选出来的模块会被编译。
9.LOCAL_SHARED_LIBRARIES
要连接到本模块的共享库。
10.LOCAL_CERTIFICATE := platform
使用平台签名文件签名。
11.include $(BUILD_STATIC_JAVA_LIBRARY)
构建一个静态的jar包
12.include $(BUILD_PACKAGE)
编译生成apk
13.include $(BUILD_EXECUTABLE)
编译生成可执行文件
14.include $(BUILD_SHARED_LIBRARY)
编译生成动态共享库
15.include $(BUILD_STATIC_LIBRARY)
编译生成静态库
16.LOCAL_JAVA_LIBRARIES
例如:LOCAL_JAVA_LIBRARIES := hello.jar,用于指明依赖的共享Jar包
17.LOCAL_STATIC_JAVA_LIBRARIES
用于指明依赖的静态jar包
18.LOCAL_LDLIBS
链接选项,指明链接的参数,LOCAL_SHARED_LIBRARIES 会生成依赖关系,当库不存在时会去编译这个库,LOCAL_LDLIBS则不会,它只是指明链接需要的参数。
如:LOCAL_LDLIBS += -lm –lz –lc -lcutils –lutils –llog …
android.mk中几个常见配置相关推荐
- Android 系统(140)---android.mk中几个常见配置
android.mk中几个常见配置 1.LOCAL_JACK_ENABLED 这个变量可以禁止使用Jack编译工具链编译该模块.在工作中,个人感觉目前jack工具链不是很稳定,经常会出现一些错误,比如 ...
- android.mk local_cppflags,android.mk中LOCAL_CFLAGS 介绍
模块描述变量: 下面的变量用于向编译系统描述你的模块.你应该定义在'include $(CLEAR_VARS)'和'include $(BUILD_XXXXX)'之间定义.正如前面描写的那样,$(CL ...
- 编写Android.mk中的LOCAL_SRC_FILES,使其自动查找源文件,不需要手动添加
在使用NDK编译C/C++项目的过程中,免不了要编写Android.mk文件,其中最重要的就是android.mk源文件列表. cpp文件位于android项目下的的不同文件夹和子文件夹下 按照通常的 ...
- 【转】Update: Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES
看原文请移步:Update: Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES 我在先前的两篇post 编写Android.mk中的LOCAL_SRC_F ...
- Android.mk中添加宏定义
在Boardconfig.mk 中添加一个 IMAGE_FOR_FACTORY_TEST:= true 由于Boardconfig.mk和各目录的Android.mk是相互关联的 所以我们可以在And ...
- Android.mk中的LOCAL_OVERRIDES_PACKAGES
关于Android.mk中的LOCAL_OVERRIDES_PACKAGES需要说明一下,此变量可以使其他的模块不加入编译, 如: 源码中DeskClock的android.mk有 LOCAL_OVE ...
- Android.mk中call all-subdir-makefiles和call all-makefiles-under,$(LOCAL_PATH)的区别
Android.mk中call all-subdir-makefiles和call all-makefiles-under,$(LOCAL_PATH)的区别 在写Android.mk文件时,call ...
- Android文件存储编程实验,Android编程中File文件常见存储与读取操作demo示例
本文实例讲述了Android编程中File文件常见存储与读取操作.分享给大家供大家参考,具体如下: MainActivity文件代码如下: package example.com.myapplicat ...
- android.mk多个module,Android.mk中的变量的使用介绍(二)
废话不多说,直接分享,欢迎斧正. Android.mk中的变量(二) 1.LOCAL_PATH 这个变量用于给出当前文件的路径.你必须在Android.mk的开头定义.例如: LOCAL_PATH : ...
最新文章
- 421. Maximum XOR of Two Numbers in an Array——本质:利用trie数据结构查找
- 固定div的位置——不随窗口大小改变为改变位置
- TCP/IP之TCP连接的建立与中止状态分析
- 自动化专业学python有用吗-马哥教育官网-专业Linux培训班,Python培训机构
- Java泛型教程–示例类,接口,方法,通配符等
- JAVA使用递归遍历文件夹,包括子目录
- Android----- MD5加密(登录注册得到与IOS相同的加密值,并且解决两个平台汉字加密不相同问题)...
- 拓端tecdat|R语言推特twitter网络转发可视化分析
- Xcode打包ipa
- eclipse解决中文乱码
- JDK代理模式学习笔记
- 国标EasyGBS方案GB/T28181接入华为VCN后视频自动停止播放问题分析
- 2020最新最好看的热门动漫电影推荐
- 喝可乐问题,2个空瓶换一瓶可乐
- C/C++ Linux 出错处理函数(strerror 与 perror)
- 【林加一】元数据挖掘模块的设计
- bizhubc226说明书_bizhubc226打印机如何扫描?
- Git进阶:合并提交记录 git merge --squash
- service mysqld restart与service mysql restart的区别
- esxi系统重装与vsan恢复
热门文章
- JAVA 数组专题(韩顺平)
- 为防止钓鱼,Win11新版本在记事本、网站中输入密码时会发出警告
- jacobi 矩阵行列式
- cocos2d-js 入门 (主要是HTML5)
- 腾讯qq对计算机进行更改,腾讯QQ设置限制异地登陆的操作方法-电脑自学网
- 九耶丨阁瑞钛伦特-大型计算机的操作系统
- python annotate函数_Matplotlib库基础分析——详解标注点函数annotate()
- 程序员做的不开心怎么办?
- QQ消息模板测试用例
- 服务器无限火力时间,2021LOL无限火力什么时候开放 最新无限火力开放具体时间...