Android.mk file必须定义好LOCAL_PATH变量。它用于在开发树中查找源文件。函数’my-dir’, 由编译系统提供,用于返回当前路径(即包含Android.mk file文件的目录)。 include $( CLEAR_VARS) CLEAR_VARS由编译系统提供,指定让GNU MAKEFILE为你清除许多LOCAL_XXX变量(例如 LOCAL_MODULE, LOCAL_SRC_FILES,LOCAL_STATIC_...
LOCAL_PREBUILT_JNI_LIBS := jniLibs/xx/libxxx.so LOCAL_MULTILIB := 32 LOCAL_PROGUARD_FLAG_FILES := proguard.flags LOCAL_AAPT_FLAGS := --auto-add-overlay LOCAL_AAPT_FLAGS += --extra-packages android.support.v7.appcompat LOCAL_AAPT_FLAGS += --extra-packages android.support.v7.gridlayout...
android.mk的使用实例 编译有源码的apk 点击查看代码 LOCAL_PATH:=$(callmy-dir)include$(CLEAR_VARS)# 源文件,可包含java、aidl文件 LOCAL_SRC_FILES += src/com/goodocom/gocsdk/IGocsdkCallback.aidlLOCAL_SRC_FILES :=$(callall-java-files-under, src)# resource资源文件LOCAL_RESOURCE_DIR :=$(LOCAL_...
在不同的Android.mk文件中,对于模块include()不同的编译类型选项,比如对于Library或者app,execut等在调用对应的处理mk文件时,会默认就指定当前的LOCAL_MODULE_CLASS的值,比如EXECUTABLES、SHARED_LIBRARIES等。所以在自己编写的Android.mk可不显示的指定LOCAL_MODULE_CLASS的值。 但当遇到include$(BUILD_PREBUILT)的预编...
Android mk 编译学习 1.引言 在手机/Tv开发的公司,往往会涉及到源码编译.将项目放在系统源码中编译.而我们通常都是通过gradle编译,打包的.并不适用于系统开发的项目.这节就学习下,常用的android mk 命令. so/ jar文件的编译. 2.正题 LOCAL_PATH := $(call my-dir) ...
在上面《一.1、Android.mk的基本格式》中虽然我进行了详细的注释,但是有必要继续分类说明 1、LOCAL_PATH := $(call my-dir) 每个Android.mk文件必须以定义LOCAL_PATH为开始。它用于在开发tree中查找源文件。宏my-dir 则由Build System提供。返回包含Android.mk的目录路径(即包含Android.mk file文件的目录)。 ca...
这篇文档对Android.mk里面LOCAL_MULTILIB分析写的比较到位,也做了很多实验,总体结论是,LOCAL_MULTILIB :=32会拷贝32bit库到apk安装的路径,根据上面apk‘运行cpu api确定流程’可以知道,系统会根据lib库确定是32bit还是64bit, 如果确定了是32bit,最后还要根据系统同一个组uid的进程,调整cpu api, 这样最终确定当前apk...
4.1.Android.mk的LOCAL_MULTILIB在纯java app编译中,编译出的apk运行时不受LOCAL_MULTILIB影响,也就是说LOCAL_MULTILIB不起作用,解开LOCAL_MULTILIB 不设置和设置LOCAL_MULTILIB := 32编译出来的apk结构上没有区别。4.2.Android.mk的LOCAL_MULTILIB在纯java app带jni或第三方库的编译中,C/C++工程中的Android.mk中...
在Android.mk 中描述模块 你可以使用LOCAL_MULTILIB变量中配置你要构建的 32 位或者 64 位以及重写全局的变量TARGET_PREFER_32_BIT。 按照下列中的一个设置你的LOCAL_MULTILIB: “both”:同时构建 32 位和 64 位 “32”:只构建 32 位 “64”:只构建 64 位 ...
Android.mk 通过LOCAL_MULTILIB来控制编译。例如, LOCAL_PATH := $(call my-dir)include$(CLEAR_VARS) LOCAL_MULTILIB := both# 同时编译32位和64位# LOCAL_MULTILIB := 32 # 只编译32位# LOCAL_MULTILIB := 64 # 只编译64位# LOCAL_MULTILIB := first # 根据主ABI的arch编译TARGET_PREFER_32_BIT :...