android 静态库和动态库的区别是什么,android编译静态库和动态库

Android NDK Version:

android-ndk-r15c-ubuntu

Build Shared Library

Create file “Android.mk”under $PROJ_DIR/jni

folder

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := hello-jni

LOCAL_SRC_FILES := hello-jni.c

include $(BUILD_SHARED_LIBRARY)

Build Static Library

Android NDK make will not build a static

library by default. If you want to build a static library, you

should introduce Application.mk (located

in the same folder as Android.mk)

or create a shared module that use the static library.

METHOD 1) INTRODUCE THE

APPLICATION.MK

Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := hello-jni

LOCAL_SRC_FILES := hello-jni.c

include $(BUILD_STATIC_LIBRARY)

Application.mk

APP_MODULES := hello-jni

APP_PLATFORM := android-10 # Specify the android

version, very important some times!

METHOD 2) LET THE STATIC LIBRARY BE

USED BY SHARED LIBRARY

Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := hello-jni

LOCAL_SRC_FILES := hello-jni.c

include $(BUILD_STATIC_LIBRARY)

include $(CLEAR_VARS)

LOCAL_MODULE := test

LOCAL_STATIC_LIBRARIES := hello-jni

include $(BUILD_SHARED_LIBRARY)

Build Static Library and Shared Library from

source code

Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := mylib_static

LOCAL_SRC_FILES := src.c

include $(BUILD_STATIC_LIBRARY)

include $(CLEAR_VARS)

LOCAL_MODULE := mylib_shared

LOCAL_SRC_FILES := src2.c

LOCAL_STATIC_LIBRARIES := mylib_static

include $(BUILD_SHARED_LIBRARY)

Build Static/Shared Library into Shared/Static

Library

Android.mk

LOCAL_PATH := $(call my-dir)

# static library introduced here

include $(CLEAR_VARS)

LOCAL_MODULE := thirdlib1

LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libthird1.a #or $(so_path)/libthird1.so

#LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include

include $(PREBUILT_STATIC_LIBRARY) #or PREBUILT_SHARED_LIBRARY

# second library that use the previous library

include $(CLEAR_VARS)

LOCAL_MODULE := mylib_use_thirdlib

LOCAL_SRC_FILES := src.c

LOCAL_STATIC_LIBRARIES := thirdlib1 #or LOCAL_SHARED_LIBRARY

include $(BUILD_SHARED_LIBRARY) #If need static one, refer how to build a static library

Reference

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值