栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Android调用C/C++库

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android调用C/C++库

AndroidStudio版本2021.1.1

一、AndroidStudio将C/C++库打包成so库过程
  1. AndroidStudio新建NativeC++工程;
  2. 在Tools->SDK Manager里下载好NDK,CMake

  1. 在cpp文件夹下放置需被打包的C/C++源码:如图,inc里放置头文件,src里放置.c/.cpp文件。.c/.cpp里注意修改引用路径。
    #include “…/inc/Buffer_Data_M.h”
    #include “…/inc/Buffer_TCC_State_Change.h”
  2. CMakeLists里添加所有C/C++代码和native-lib.cpp.

  1. 新建类fafb,在类中声明需要调用的方法。本步涉及类型转换(C/C++ ->JNI -> Java)

  1. 在native-lib.cpp里实现方法从C/C++到JNI的转换

  1. 执行Build->Make proiect,可得到so文件
  2. so库生成位置如下。自此,so库打包完成

二.Android使用so库

Android调用so库

  1. 将so文件放入新的工程下
sourceSets {
        main {
            jniLibs.srcDirs = ['libs','jniLibs']
        }
    }
  1. 在新工程,同一包名目录下新建名字相同的类,复写加载和声明函数。与一.5完全相同
    3.在其他函数中调用过程:
fsfb main=new fsfb();
        Log.d("test1",main.add(2,6)+"");

调用完成。

如果无需给第三方使用,只执行“一”即可实现JAVA调用C/C++源码,若C/C++源码有问题,还能自行修改再重新生成so库

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/960571.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号