Android首页投稿(暂停使用,暂停投稿)Android开发

Android.mk简析

2017-03-27  本文已影响0人  挨踢亮

一.Android.mk文件简介:


Android.mk文件主要是告诉编译系统,以什么样的规则编译你的源代码,并生成对应的目标文件,目标文件可以分为以下几种:

二.简单示例:


<pre>
Android环境下(lunch之后)
1.LOCAL_PATH := $(call my-dir)
2.include $(CLEAR_VARS)
3.LOCAL_MODULE
4.:= helloworld
5.LOCAL_SRC_FILES := helloworld.c
6.include $(BUILD_SHARED_LIBRARY)
</pre>
以上就是利用Android.mk生成so文件的简单流程,其实上述步骤也是一个简单的jni编译方法。

三.关键参数说明:


1、BUILD_STATIC_LIBRARY:静态链接库;

2、BUILD_SHARED_LIBRARY :动态链接库;

3、BUILD_EXECUTABLE:native c可执行的程序;

以上所述就是一个基本的Android.mk包含的编译信息;

五.Android.mk编译模板:


1.集成jar:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_PATH := $(TARGET_OUT_JAVA_LIBRARIES)
LOCAL_PREBUILT_JAVA_LIBRARIES := goldsand-framework.jar
include $(BUILD_MULTI_PREBUILT)

2.集成so库:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)
LOCAL_PREBUILT_LIBS := \
libgoldsand_camera_jni.so \
libgoldsand_native.so
include $(BUILD_MULTI_PREBUILT)

3.集成静态库a:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := libFB
LOCAL_MODULE_PATH := $(TARGET_OUT_STATIC_LIBRARIES)
LOCAL_PREBUILT_LIBS := libFB.a
include $(BUILD_MULTI_PREBUILT)

4.集成APK(引用于MTK ONLINE):

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Module name should match apk name to be installed
LOCAL_MODULE := Test
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := PRESIGNED
LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS) # 可选项,如果不添加此变量,         键预装到system/app下, 此apk将不能被卸载, 添加后,被安装到data/app目录下, 可卸载。

include $(BUILD_PREBUILT)

5.集成可执行程序(引用于网络):

LOCAL_PATH := $(call my-dir) 
include $(CLEAR_VARS) 
LOCAL_MODULE_PATH := $(YOUR_PATH)
LOCAL_SRC_FILES := hellovprc.elf  
LOCAL_MODULE := hellovprc.elf 
LOCAL_MODULE_CLASS := EXECUTABLES 
LOCAL_MODULE_TAGS := debug 
include $(BUILD_PREBUILT)

== 六.项目中Android.mk文件解析:==
loading......

上一篇 下一篇

猜你喜欢

热点阅读