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中几个常见配置相关推荐

  1. Android 系统(140)---android.mk中几个常见配置

    android.mk中几个常见配置 1.LOCAL_JACK_ENABLED 这个变量可以禁止使用Jack编译工具链编译该模块.在工作中,个人感觉目前jack工具链不是很稳定,经常会出现一些错误,比如 ...

  2. android.mk local_cppflags,android.mk中LOCAL_CFLAGS 介绍

    模块描述变量: 下面的变量用于向编译系统描述你的模块.你应该定义在'include $(CLEAR_VARS)'和'include $(BUILD_XXXXX)'之间定义.正如前面描写的那样,$(CL ...

  3. 编写Android.mk中的LOCAL_SRC_FILES,使其自动查找源文件,不需要手动添加

    在使用NDK编译C/C++项目的过程中,免不了要编写Android.mk文件,其中最重要的就是android.mk源文件列表. cpp文件位于android项目下的的不同文件夹和子文件夹下 按照通常的 ...

  4. 【转】Update: Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES

    看原文请移步:Update: Android.mk 中的 LOCAL_SRC_FILES, LOCAL_C_INCLUDES 我在先前的两篇post 编写Android.mk中的LOCAL_SRC_F ...

  5. Android.mk中添加宏定义

    在Boardconfig.mk 中添加一个 IMAGE_FOR_FACTORY_TEST:= true 由于Boardconfig.mk和各目录的Android.mk是相互关联的 所以我们可以在And ...

  6. Android.mk中的LOCAL_OVERRIDES_PACKAGES

    关于Android.mk中的LOCAL_OVERRIDES_PACKAGES需要说明一下,此变量可以使其他的模块不加入编译, 如: 源码中DeskClock的android.mk有 LOCAL_OVE ...

  7. 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 ...

  8. Android文件存储编程实验,Android编程中File文件常见存储与读取操作demo示例

    本文实例讲述了Android编程中File文件常见存储与读取操作.分享给大家供大家参考,具体如下: MainActivity文件代码如下: package example.com.myapplicat ...

  9. android.mk多个module,Android.mk中的变量的使用介绍(二)

    废话不多说,直接分享,欢迎斧正. Android.mk中的变量(二) 1.LOCAL_PATH 这个变量用于给出当前文件的路径.你必须在Android.mk的开头定义.例如: LOCAL_PATH : ...

最新文章

  1. 421. Maximum XOR of Two Numbers in an Array——本质:利用trie数据结构查找
  2. 固定div的位置——不随窗口大小改变为改变位置
  3. TCP/IP之TCP连接的建立与中止状态分析
  4. 自动化专业学python有用吗-马哥教育官网-专业Linux培训班,Python培训机构
  5. Java泛型教程–示例类,接口,方法,通配符等
  6. JAVA使用递归遍历文件夹,包括子目录
  7. Android----- MD5加密(登录注册得到与IOS相同的加密值,并且解决两个平台汉字加密不相同问题)...
  8. 拓端tecdat|R语言推特twitter网络转发可视化分析
  9. Xcode打包ipa
  10. eclipse解决中文乱码
  11. JDK代理模式学习笔记
  12. 国标EasyGBS方案GB/T28181接入华为VCN后视频自动停止播放问题分析
  13. 2020最新最好看的热门动漫电影推荐
  14. 喝可乐问题,2个空瓶换一瓶可乐
  15. C/C++ Linux 出错处理函数(strerror 与 perror)
  16. 【林加一】元数据挖掘模块的设计
  17. bizhubc226说明书_bizhubc226打印机如何扫描?
  18. Git进阶:合并提交记录 git merge --squash
  19. service mysqld restart与service mysql restart的区别
  20. esxi系统重装与vsan恢复

热门文章

  1. JAVA 数组专题(韩顺平)
  2. 为防止钓鱼,Win11新版本在记事本、网站中输入密码时会发出警告
  3. jacobi 矩阵行列式
  4. cocos2d-js 入门 (主要是HTML5)
  5. 腾讯qq对计算机进行更改,腾讯QQ设置限制异地登陆的操作方法-电脑自学网
  6. 九耶丨阁瑞钛伦特-大型计算机的操作系统
  7. python annotate函数_Matplotlib库基础分析——详解标注点函数annotate()
  8. 程序员做的不开心怎么办?
  9. QQ消息模板测试用例
  10. 服务器无限火力时间,2021LOL无限火力什么时候开放 最新无限火力开放具体时间...