美文网首页Android
NDK开发之封装So调用第三方So

NDK开发之封装So调用第三方So

作者: zac_ka | 来源:发表于2017-07-24 11:50 被阅读1023次

由于公司要使用第三方提供的一套算法,而算法工程师给了一个在Windows直接生成的so,及不符合Jni调用格式的.h接口文件。

坑!

于是自己写个so,通过C++实现调用算法的so

基本流程如下:

1、根据项目所需要使用的java函数通过javah生成函数格式正确的.h文件,注意包名与函数名的对应。

2、添加Android.mk文件 到对应的jni目录  ,mk文件用于生成对应的so库,并引用第三方的so。

#第三方so

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := PARAMAlgInterface

LOCAL_SRC_FILES := armeabi/libPARAMAlgInterface.so

include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)

#供自己调用的so

LOCAL_MODULE := nativeTest

LOCAL_SRC_FILES := PpgJni.cpp

LOCAL_LDLIBS := -llog

LOCAL_SHARED_LIBRARIES :=libPARAMAlgInterface   #引用第三方so

include $(BUILD_SHARED_LIBRARY)

3、增加Application.mk配置生成环境

4、根据第三方的.h文件,在cpp文件里实现所需要调用的函数和返回结果,需要注意变量的使用防止内存泄漏

5、在jni目录路径使用命令行ndk-build生成自己的.so,并在build-gradle文件配置apk使用的jnilibs目录

相关文章

  • NDK开发之封装So调用第三方So

    由于公司要使用第三方提供的一套算法,而算法工程师给了一个在Windows直接生成的so,及不符合Jni调用格式的....

  • NDK开发之Java-C互相传值

    CSDN链接 在平时的NDK开发中,我们通常使用C/C++封装好so库,然后客户端调用so库以完成我们的需求,在...

  • NDK:02-调用第三方so文件

    NDK调用第三方so文件 说明:此处的so可以是jni生成的或者纯净的C语言的动态库.关于生成.so可参看我的上篇...

  • Android Studio 使用so

    在Android Studio 开发so(ndk-build编译so)https://www.jianshu.co...

  • Android Studio NDK开发

    概述 在Eclipse的时代,我们进行NDK的开发一般需要通过手动执行NDK脚 本生成*.so文件,再将.so文件...

  • android log

    需求:第三方提供的so库有太多log,影响开发测试,需要关闭 分析:任何程序(包括so)都是调用系统的log,所以...

  • 谈谈Android的so

    一般情况下,我们不需要关心so。但是当APP使用的第三方SDK中包含了so文件,或者自己需要使用NDK开发某些功能...

  • NDK 知识梳理(1) - 使用 CMake 进行 NDK 开发

    一、前言 在Eclipse的时代,我们进行NDK的开发一般需要通过手动执行NDK脚本生成*.so文件,再将.so文...

  • AndroidStudio jni开发入门及打包so库和jar包

    AndroidStudio jni开发入门及打包so库和jar包 配置ndk开发环境 下载NDK,LLDB,CMa...

  • android-性能优化-so优化

    个人总结,因为项目开发的原因,需要ndk开发一部分功能,并打包成so使用,在打包so过程中发现生成的so过大,如下...

网友评论

    本文标题:NDK开发之封装So调用第三方So

    本文链接:https://www.haomeiwen.com/subject/nltbkxtx.html