Android.mk 用法解析整理

Android  2019年5月9日 pm7:30发布6年前 (2019)更新 91es.com站长
84 0 0


Android.mk 还是整理一下,有时候还是忘记了,这里只是讲解一部分,其他的自己百度或谷歌吧。

 

编译一个APK的Android.mk文件

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

#指定依赖的共享Java类库
LOCAL_JAVA_LIBARARIES := android-common
#指定依赖的静态Java类库
LOCAL_STATIC_JAVA_LIBRARIES := android-support-v13

#指定源码文件目录,这里定义搜寻src目录中的
LOCAL_SRC_FILES := $(call all-subdir-java-files,src)
#这种也可以,没指定哪个目录
#LOCAL_SRC_FILES := $(call all-subdir-java-files)

#指定模块的标签
LOCAL_MODULE_TAGS := optional
#指定当前编译环境中的SDK版本(通常不设定)
#若是添加,编译时会忽略源码隐藏的API,导致编译失败
LOCAL_SDK_VERSION := current
#指定编译后模块的名称
LOCAL_PACKAGE_NAME := MyAvm
#指定模块的签名方式
LOCAL_CERTIFICATE := platform
#指定编译一个APK
include $(BUILD_PACKAGE)

include $(call all-makefiles-under,$(LOCAL_PATH))

一、LOCAL_MODULE_TAGS

指定模块的TAG标签,其后面可以跟user eng tests optional这四种tag,不同tag代表不同的作用。

user: 指该模块只在user版本下才编译
eng: 指该模块只在eng版本下才编译
tests: 指该模块只在tests版本下才编译
optional:指该模块在所有版本下都编译

一般我们项目中都是使用optional 作为默认的TAG

二、LOCAL_SDK_VERSION

通常是不会增加此选项的。但是我们还是要搞定一下这个选项的意义。

如果你是添加LOCAL_SDK_VERSION := current 此选项,此APK在编译时会忽略源码隐藏的API,如果你用了隐藏(hide)的API就会编译异常。

三、LOCAL_CERTIFICATE

1、LOCAL_CERTIFICATE := platform

该APK完成一些系统的核心功能。经过对系统中存在的文件夹的访问测试,这种方式编译出来的APK所在进程的UID为system

2、LOCAL_CERTIFICATE := shared

该APK需要和home/contacts进程共享数据。

3、LOCAL_CERTIFICATE := media

该APK是media/download系统中的一环。

4、LOCAL_CERTIFICATE := testkey

普通APK,默认情况下使用
PS: 此部分摘抄于《对于mk文件的理解

 

目前就这些吧,后续继续整理。

 历史上的今天

  1. 2024: Android关闭selinux(0条评论)
  2. 2023: IJKPlayer和MediaPlayer切换问题(0条评论)
  3. 2022: C语言输出格式符(0条评论)
  4. 2018: [摘]UML类图符号的各种关系说明(0条评论)
版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com
3、 本站内容: 部分来源于网络,仅供学习和参考,若侵权请留言
3、 本站申明: 个人流水账日记,内容并不保证有效

暂无评论

暂无评论...

随机推荐

龙应台:一个人怎样才算是有文化?

曾经有一个特别奇怪的场合,做为台北市首任文化局长的我被要求当场简单扼要地说出来,文化是什么?是在一九九九年的议会里。从九月开始,官员每天四五个小时坐在议会里接受议员轮番质询。我是个新生,议员发言多半用一种怒吼咆哮的声音,麦克风再把音量加以扩大,耳朵嗡嗡作响,一天下来,晕眩的症状出现,我总在头昏脑...

Android includeFontPadding属性的介绍

前言Android开发中,我们知道TextView显示文本时是存在留白的,如图一的第一行[读书导航],明显比第二行“高大威猛”些。虽然TextView默认存在留白,正常情况下的影响可以忽略不计,但如果换了个别字体后,如图二的第一行[读书导航],加上字体设计也存在留白,导致TextView占用的位...

茨维塔耶娃:我想和你一起生活在某个小镇

我想和你一起生活在某个小镇共享无尽的黄昏和绵绵不绝的钟声。在这个小镇的旅店里——古老时钟敲出的微弱响声像时光轻轻滴落。有时候,在黄昏,自顶楼的某个房间里传来笛声吹笛者倚著窗牖,窗口大朵大朵的郁金香。此刻,你若不爱我我也不会在意在房间中央,一个磁砖砌成的炉子每一块磁砖...

[摘]Android Studio Minimum supported Gradle version is 6.5. Current version is 6.1.1

前言开发中导入别人项目时偶尔如下这种提示:Android Studio Minimum supported Gradle version is 6.5. Current version is 6.1.1记录一下,方便自己查阅。正文完整的提示内容如下Minimum supported ...

125啦新版来了,欢迎使用

1、好记性不如烂笔头;2、觉得已经晚了,恰恰是最早的时候;3、鸡蛋从外打破是食物,从内打破是生命 我们新版上线啦(掌声),这次改版很大,放弃之前传统的导航模式,首先采用“网址导航+读书(阅读)+博客”全新的模式,依旧是国内第一个以读书(阅读)为主题的网址导航大全!因为热爱,所以折...

WordPress评论提交速度很慢的原因和解决办法

最近使用Nana主题时,发现提交比较卡,因此百度了一下,发现大家也是一样的。由于大神也遇到,因此他们都解决了此问题,因此我也摘抄于此,以便查阅。一般分为两个问题(大多数吧),一是WordPress设置问题,二是服务器问题。1、WordPress设置问题这个比较简单,你只需要在 WordPre...