LOCAL_CFLAGS = $(L_CFLAGS)
LOCAL_SRC_FILES = hello.c
LOCAL_C_INCLUDES = $(INCLUDES)
LOCAL_SHARED_LIBRARIES := libcutils
LOCAL_COPY_HEADERS_TO := libhello
LOCAL_COPY_HEADERS := hellos.h
编译 静态库 BUILD_STATIC_LIBRARYinclude $(BUILD_STATIC_LIBRARY)
四、 Android.mk 深入学习二
===================
Android.mk 引用资源
引用静态库
LOCAL_STATIC_LIBRARIES += libxxxxx
LOCAL_STATIC_LIBRARIES := \
…
libxxx2 \
libxxx \
引用动态库
LOCAL_SHARED_LIBRARIES += libxxxxx
LOCAL_SHARED_LIBRARIES := liblog libnativehelper libGLESv2
引用第三方库文件
LOCAL_LDFLAGS:=-L/PATH -Lxxx
LOCAL_LDFLAGS := $(LOCAL_PATH)/lib/libtest.a
引用第三方头文件
LOCAL_C_INCLUDES :=path
eg:
LOCAL_C_INCLUDES = $(INCLUDES)
五、 Android.mk 深入学习三
===================
Android.mk 深入学习三
编译apk
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-subdir-java-files) # 生成hello apk
LOCAL_PACKAGE_NAME := hello include $(BUILD_PACKAGE)
编译jar包
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(call all-subdir-java-files) # 生成 hello
LOCAL_MODULE := hello # 编译生成静态jar包
include $(BUILD_STATIC_JAVA_LIBRARY) #编译生成共享jar
include $(BUILD_JAVA_LIBRARY)
- 静态jar包:
include $(BUILD_STATIC_JAVA_LIBRARY)
使用.class文件打包而成的JAR文件,可以在任何java虚拟机运行
- 动态jar包:
include $(BUILD_JAVA_LIBRARY)
在静态jar包基础之上使用.dex打包而成的jar文件,.dex是android系统使用的文件格式。
APK 依赖jar
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)# 静态jar包LOCAL_STATIC_JAVA_LIBRARIES := static-library#动态jar包LOCAL_JAVA_LIBRARIES := share-library
LOCAL_SRC_FILES := $(call all-subdir-java-files)
LOCAL_PACKAGE_NAME := helloinclude $(BUILD_PACKAGE)
预编译jar包
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)#指定编译生成的文件类型LOCAL_MODULE_CLASS := JAVA_LIBRARIES
LOCAL_MODULE := hello
LOCAL_SRC_FILES := $(call all-subdir-java-files)# 预编译include $(BUILD_PREBUILT)
预编译文件类型如下:
- 1.LOCAL_MODULE_CLASS:
编译文件类型
- 2.JAVA_LIBRARIES:
dex归档文件
- 3.APPS:
APK文件
- 4.SHARED_LIBRARIES:
动态库文件
- 5.EXECUTABLES:
二进制文件
- 6.ETC:
其他文件格式
六、 Android.mk 判断语句
==================
Android.mk 中的判断语句
ifeq($(VALUE), x) #ifneq
do_yeselse
do_noendif
ifeq/ifneq:根据判断条件执行相关编译
点个在看,方便您使用时快速查找!
[
创作打卡挑战赛
赢取流量/现金/CSDN周边激励大奖
](https://mp.csdn.net/clock?utm_campaign=marketingcard&utm_source=wjky2014&utm_content=111659275)
结语
网上高级工程师面试相关文章鱼龙混杂,要么一堆内容,要么内容质量太浅, 鉴于此我整理了上述安卓开发高级工程师面试题以及答案。希望帮助大家顺利进阶为高级工程师。
目前我就职于某大厂安卓高级工程师职位,在当下大环境下也想为安卓工程师出一份力,通过我的技术经验整理了面试经常问的题,答案部分是一篇文章或者几篇文章,都是我认真看过并且觉得不错才整理出来。
大家知道高级工程师不会像刚入门那样被问的问题一句话两句话就能表述清楚,所以我通过过滤好文章来帮助大家理解。
现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套【Android进阶学习视频】、【全套Android面试秘籍】、【Android知识点PDF】。
参考docs.qq.com/doc/DSkNLaERkbnFoS0ZF
下也想为安卓工程师出一份力,通过我的技术经验整理了面试经常问的题,答案部分是一篇文章或者几篇文章,都是我认真看过并且觉得不错才整理出来。
大家知道高级工程师不会像刚入门那样被问的问题一句话两句话就能表述清楚,所以我通过过滤好文章来帮助大家理解。
[外链图片转存中…(img-V1rlmPAl-1724354309679)]
现在都说互联网寒冬,其实只要自身技术能力够强,咱们就不怕!我这边专门针对Android开发工程师整理了一套【Android进阶学习视频】、【全套Android面试秘籍】、【Android知识点PDF】。
参考docs.qq.com/doc/DSkNLaERkbnFoS0ZF