使用Android JNI调用第三方静态库并且生成静态库和动态库(armeabi/arm64-v8a版本)的配置操作
2017-04-21 00:26
579 查看
假如要调用第三方库libxxx.a
把第三方静态库的相关文件放置到jni目录下
其Android.mk和Application的配置文件如下(NDK版本是android-ndk-r10d,注意新老版本命令上的一些不同,接下来会有说明):
Android.mk
Application.mk:
把第三方静态库的相关文件放置到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 #选择平台,如果都需要生成用空格隔开
相关文章推荐
- JNI调用了第三方多平台动态库并且支持多个库的配置方法
- 一个使用第三方静态库(*.a)的jni实例以及 ndk 使用第三方静态库生成动态库的实例
- android jni通过cmake使用第三方静态库和动态库
- Android(安卓)开发通过NDK调用JNI,使用opencv做本地c++代码开发配置方法实现边缘检测代码(2)
- Mac下使用Android的Jni生成动态库so文件,并打包到APK包说明
- Android 使用动态库或静态库来编译生成动态库(转)
- android jni方式调用c++代码并在其它app中使用生成的.so文件
- ubuntu下的android studio jni生成c++动态库的调用方法及排错(ndk生成的动态库调用)
- Android(安卓)开发通过NDK调用JNI,使用opencv做本地c++代码开发配置方法 边缘检测 范例代码
- 使用JNI 调用第三方c++动态库
- Jni中执行ndk-build,编译第三方静态库(.a)和动态库(.so)的Android.mk文件写法
- Ubuntu下,Java中利用JNI调用codeblocks c++生成的动态库的使用步骤
- windows7下,Java中利用JNI调用c++生成的动态库的使用步骤
- [转]Android通过NDK调用JNI,使用opencv做本地c++代码开发配置方法
- Android下使用CMake链接已有静态库.a生成新的静态库.a,以及动态库.so链接静态库生成新的动态库.so
- 在Android中使用JNI调用Opencv本地代码 配置方式 边缘检测 范例代码
- android JNI 调用第三方动态库
- Ubuntu下,Java中利用JNI调用codeblocks c++生成的动态库的使用步骤
- 生成动态库so的方法|解决NDK r5b引用静态库失效的问题|在NDK的Nactive代码中使用Android Log的方法|生成Native java头文件
- Android使用JNI生成.so文件并调用(使用传统生成.h的方法)