大致如下

# 这个是固定的必须要写的,作用是构建系统提供的宏函数 my-dir 将返回当前目录(Android.mk 文件本身所在的目录)的路径
LOCAL_PATH:= $(call my-dir)
# 这个是固定的必须要写的,作用是CLEAR_VARS 变量指向一个特殊的 GNU Makefile,后者会为您清除许多 LOCAL_XXX 变量
include $(CLEAR_VARS)
# 指定编译版本,版本有, eng、user还是 userdebug 版本参与编译; optional值所有版本都参与编译
LOCAL_MODULE_TAGS   := optional
# apk的签名
LOCAL_CERTIFICATE := platform
# 编译apk的名称
LOCAL_PACKAGE_NAME := InformationTest
# 设置为true编译的app,即ROM中的system/priv-app/下的app
LOCAL_PRIVILEGED_MODULE := true
# 使用sdk的hide的api来编译
LOCAL_PRIVATE_PLATFORM_APIS := true
# 编译和打包资源的工具。而aapt2是在aapt上做了优化。
LOCAL_USE_AAPT2 := true
# 指定打包资源文件
LOCAL_AAPT_FLAGS := \--auto-add-overlay \--extra-packages com.android.contacts.common
# JACK编译器,incremental的意思只编译修改的部分,disabled是指关闭JACK编译,使用android old toolchain。
# full是指全部编译,即每次编译,都会将所有的code全部编译。
LOCAL_JACK_ENABLED := incremental
# 去掉代码混淆,默认是混淆的
LOCAL_PROGUARD_ENABLED := disabled
LOCAL_DEX_PREOPT := false
# 编译的java文件文件路径
LOCAL_SRC_FILES := $(call all-java-files-under, app/src/main/java)
# 编译的资源文件文件路径
LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/app/src/main/res
# 需要编译的 AndroidManifest.xml 文件
LOCAL_MANIFEST_FILE := app/src/main/AndroidManifest.xml
# 指定依赖的静态java类库,最终会打包到apk里面
LOCAL_STATIC_JAVA_LIBRARIES := \com.android.vcard \bluetooth.cc\services.net \libprotobuf-java-lite \
# 需要引入的android库
LOCAL_STATIC_ANDROID_LIBRARIES := \androidx.preference_preference \androidx.annotation_annotation \androidx.appcompat_appcompat \androidx-constraintlayout_constraintlayout \androidx.legacy_legacy-support-v4include $(BUILD_PACKAGE)

参考地址:https://developer.android.google.cn/ndk/guides/android_mk,

https://segmentfault.com/a/1190000022375080

android.mk 里面内容介绍相关推荐

  1. android.mk官网介绍,转载:Android.mk语法介绍

    Android.mk内的变量定义 3.1 LOCAL_PATH 一个Android.mk file首先必须定义好LOCAL_PATH变量.它用于在开发树中查找源文件.例如: 1.LOCAL_PATH: ...

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

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

  3. Android .mk文件语法解析

    下面是MTK-AndroidFM模块Android .mk代码内容: 1 ifeq ($(MTK_FM_SUPPORT),yes) 2 LOCAL_PATH:= $(call my-dir) 3 in ...

  4. Android.mk解析

    一.变量说明: 1.LOCAL_PATH:= $(call my-dir) 此行代码在Android.mk的开头,用于给出当前文件的路径 LOCAL_PATH 用于在开发树中查找源文件 宏函数'my- ...

  5. Android.mk解析【转】

    一.变量说明: 1.LOCAL_PATH:= $(call my-dir) 此行代码在Android.mk的开头,用于给出当前文件的路径 LOCAL_PATH 用于在开发树中查找源文件 宏函数'my- ...

  6. android开发模板web,Android开发实践:Android.mk模板

    关于Android NDK开发的文章已经比较多了,我的博客中也分享了很多NDK开发相关经验和技巧,今天简单写了一个 Android.mk 的示例模板,供初学者参考. 本模板主要给大家示例 Androi ...

  7. Cocos2d-x的Android.mk自动生成

    为什么80%的码农都做不了架构师?>>>    编译至Android平台时,若手动修改需编译的源文件及头文件目录,那会比较麻烦.还有就是若直接在Android.mk里面写自动搜索的话 ...

  8. 深入浅出Android NDK之Android.mk常用C/C++编译选项

    目录 上一篇 深入浅出Android NDK之Android.mk基本语法 在之前的深入浅出Android NDK之Hello-Ndk一章我们已经学习了编译一个动态库.静态库.可执行文件所需要的最基本 ...

  9. Android.mk详解

    转载请标明出处:http://blog.csdn.net/xx326664162/article/details/52875825 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...

最新文章

  1. PocketPC 全屏的实现
  2. Linux 内核Coding Style整理
  3. 【[CQOI2018]交错序列】
  4. CTFshow 信息收集 web5
  5. SQL Server 存储过程的应用
  6. python基础内容_python基础-python介绍
  7. LeetCode 1952. 三除数
  8. dreamweaver 正则表达式为属性值加上双引号_Python正则表达式(一)
  9. FCKeditor在Asp.Net中的配置
  10. 如何使用大数据算法改善有效链接
  11. 10小时,就能吃透Kafka源码?
  12. 解决PCL 编译报错:undefined reference to `pcl::PCLBase<pcl::PointXYZRGBA>:: XXX
  13. G.8032 ERPS 轻松强固网络安全!
  14. vue如何加载html字符串_VUE渲染后端返回含有script标签的html字符串示例
  15. 罗技无法使用计算机上的配置文件,罗技游戏软件检测不到游戏启动,导致无法自动切换配置文件...
  16. 升余弦滤波器与无码间串扰(一)
  17. RSA对称加密(JS加密,C#、Java解密)
  18. Poj P3889 Fractal Streets___规律+dfs+分治
  19. 618主场之变:谁是后疫情时代消费的主角?
  20. linux下测试远程端口

热门文章

  1. 2022-2028年中国香精香料行业投资分析及前景预测报告
  2. 2022-2028年中国清水混凝土行业供需策略分析及市场供需预测报告
  3. transformer bert seq2seq 深度学习 编码和解码的逻辑-重点
  4. 小白给小白详解维特比算法(二)
  5. 用0到9十个数字,每个数字使用一次,构成两个五位数a和b,并且a+20295=b.求a,b
  6. JIT Compiler编译器及指令集
  7. 2021年大数据ELK(二):Elasticsearch简单介绍
  8. 常用MySQL函数存储过程_解析MySQL存储过程、常用函数代码
  9. python 生命之花_python股票用什么电脑配置:贵州合力股票价格多少钱_XAC配资之家...
  10. git : 依赖: liberror-perl 但无法安装它