android 编译系统
来源:互联网 发布:考勤表软件下载 编辑:程序博客网 时间:2024/06/03 06:08
编译系统包括编译中枢,子项目,输出路径。
编译中枢包括各种.mk文件,这些文件将遍历所有子项目,并生产所有target,从而当用户调用make XXX命令,中枢能够知道应该执行什么命令以长生指定的target
每个子项目必须包含一个Android.mk文件,该文件将描述该项目中包含的哪些源文件,并指定该项目的输出目标类型(jar包、可执行程序、APK等),编译中枢内部定义了一些变量,各android.mk文件只是对他赋值而已。
LOCAL_PATH:= $(call my-dir) 指定子项目的绝对路径
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional 指定子项目所属的标签 (optional,user,eng,userdebug)
LOCAL_SRC_FILES := $(call all-subdir-java-files) 所包含源文件
LOCAL_PACKAGE_NAME := 指定项目名称(java) ,作为make XXX中的XXX
LOCAL_MODULE := 指定项目名称(c/c++),作为make XXX中的XXX
LOCAL_CERTIFICATE := platform 指定apk项目将使用何种签名文件签名最后生成的apk,系统一共包含四种:
- platform Framework源码最后生成一个jar包,该jar包默认使用该类型签名。
- shared 一些系统应用程序使用该类型签名,比如Contacts
- user 一些私有项目使用该签名
- tests 调试过程中一般使用该签名
LOCAL_JAVA_LIBRARIES := 指定子项目编译所依赖的jar包
LOCAL_C_INCLUDES 指定编译c所包含的头文件
LOCAL_SHARED_LIBRARIES 指定c可链接动态库
LOCAL_STATIC_LIBRARIES 指定c可链接静态库
LOCAL_MODULE_CLASS
LOCAL_MODULE_PATH 指定编译目标存放路径
LOCAL_PREBUILT_LIBS 预编译时使用,指定需要复制的库
include $(BUILD_MULTI_PREBUILT) 预编译,copy库文件到动态库
include $(BUILD_PACKAGE) 指定编译的目标对象 编译成apk
include $(BUILD_JAVA_LIBRARY) 指定编译的目标对象 jar包
include $(BUILD_SHARED_LIBRARY) 指定编译的目标对象 C动态库
include $(BUILD_STATIC_LIBRARY) 指定编译的目标对象 C静态库
include $(BUILD_EXECUTABLE) 指定编译的目标对象 可执行程序
- Android编译系统
- Android编译系统结构
- Android的编译系统
- Android的编译系统
- Android 系统编译
- Android编译系统
- android系统编译
- Android 编译系统
- android编译系统 makefile
- Android 的编译系统
- Android编译系统
- Android 编译系统架构
- Android编译系统结构
- Android系统编译环境
- android编译系统学习
- Android 系统编译安装
- Android系统源码编译
- Android的编译系统
- 288. Man proposes, God disposes. 成事在人,谋事在天
- 【Oracle故障】Oracle11g安装报错cannot restore segment prot after reloc: .
- JCFXBL平台客户端XML数据的存储与查询
- 英语飙升的好办法
- App层focus or face detection界面显示分析
- android 编译系统
- 学生信息管理系统——编程规范(二)Err对象
- 动车组快的看不清字
- fedora14 基于Qt的TCP发送文本信息 聊天室 开发记录
- OPenGL基本概念
- 如何在android环境下进行ttf解析,通过获取文件头信息得到字体名称!
- mysql 常用引擎MyISAM和innodb的几点简单特性
- 总结和以后看的书
- ioctl函数参数