使用Android JNI调用第三方静态库并且生成静态库和动态库(armeabi/arm64-v8a版本)的配置操作

6 篇文章 1 订阅
3 篇文章 1 订阅

假如要调用第三方库libxxx.a
把第三方静态库的相关文件放置到jni目录下
其Android.mk和Application的配置文件如下(NDK版本是android-ndk-r10d,注意新老版本命令上的一些不同,接下来会有说明):

Android.mk

LOCAL_PATH := $(call my-dir) #Android.mk的目录路径

include $(CLEAR_VARS) #清理LOCAL_xxx避免相互影响
LOCAL_MODULE := libxxx #第三方静态库名称
LOCAL_SRC_FILES := libxxx.a #第三方静态库实际.a文件
include $(PREBUILT_STATIC_LIBRARY) #静态态库预编译

include $(CLEAR_VARS)
LOCAL_MODULE    : = yyy #要生成的新静/动态库名称
### Add all source file names to be included in lib separated by a whitespace
LOCAL_SRC_FILES := xxxx.cpp\
xxxxx.c #需要使用到的源文件(非第三方静态库文件)

#LOCAL_STATIC_LIBS := libxxx #静态库不编译,链接调用就好(旧版NDK使用LIBS)
LOCAL_STATIC_LIBRARIES := libanr #新版用LIBRARIES,旧版用LIBS,否则会出现undefined reference to...错误

LOCAL_LDLIBS += -llog #支持__android_log_print
LOCAL_CPPFLAGS := -fexceptions #开启异常控制

include $(BUILD_STATIC_LIBRARY) #生成静态库
include $(BUILD_SHARED_LIBRARY) #生成动态库

Application.mk:

APP_STL := gnustl_static #使用STL库
APP_CPPFLAGS += -fpermissive #兼容老的语法,使一些错误降为警告
APP_ABI := armeabi arm64-v8a #选择平台,如果都需要生成用空格隔开
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值