使用Android JNI调用第三方静态库并且生成静态库和动态库(armeabi/arm64-v8a版本)的配置操作
来源:互联网 发布:网络研修中的困惑 编辑:程序博客网 时间:2024/06/14 20:54
假如要调用第三方库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 whitespaceLOCAL_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_printLOCAL_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 #选择平台,如果都需要生成用空格隔开
0 0
- 使用Android JNI调用第三方静态库并且生成静态库和动态库(armeabi/arm64-v8a版本)的配置操作
- 一个使用第三方静态库(*.a)的jni实例以及 ndk 使用第三方静态库生成动态库的实例
- android jni通过cmake使用第三方静态库和动态库
- 关于JNI调用第三方静态库
- jni调用第三方静态库
- 关于JNI调用第三方静态库
- 关于JNI调用第三方静态库
- jni调用第三方静态库
- 关于JNI调用第三方静态库
- Android的armeabi、armeabi-v7a和arm64-v8a
- Android 静态和动态的调用so库(JNI)
- android JNI生成.so文件(arm64-v8a等)配置
- JNI调用了第三方多平台动态库并且支持多个库的配置方法
- JNI中调用多个第三方的静态库
- Android工程调用第三方动态链接库的方法(静态库同理)
- Jni中执行ndk-build,编译第三方静态库(.a)和动态库(.so)的Android.mk文件写法
- android JNI 调用第三方动态库
- Android-jni 调用第三方动态库
- 类加载,__construct(),
- android_WebView截图
- Leetcode -- 27. Remove Element
- mooc_02_排序
- C++实验4-项目6:输出星号图
- 使用Android JNI调用第三方静态库并且生成静态库和动态库(armeabi/arm64-v8a版本)的配置操作
- android-加固方案对比
- 警告框的使用
- House Robber
- Gradle使用初体验
- 加减乘除24点(难度系数:2颗星)
- 对‘sqrt’未定义的引用 collect2: error: ld returned 1 exit status
- Spring事务之三(DriverManagerDataSource)
- jsp 模拟按钮,点击button,链接到a标签,是a标签的地址跳转