美文网首页
NDK开发->⑴生成so文件及其调用

NDK开发->⑴生成so文件及其调用

作者: 冉桓彬 | 来源:发表于2016-12-30 08:37 被阅读71次

1. 前言:

看C走了不少弯路, 单纯的看看概念写写基础代码, 结果没过多久就忘了, 索性重新快速过了一遍C, 先把基础概念搞清楚, 知道是什么意思, 然后就打算正式开始入手NDK开发, 在学习NDK开发的过程中顺便再加深对C的学习, 学习NDK开发并没有找什么书籍, 就把B站的开源项目ijkplayer当作辅助资料.

2.先写一个示例代码 :

先用as完成一个demo, 后续系列文章围绕这个demo展开.

  1. 创建类JniUtils, 里面先创建一个本地方法.
public class JniUtils {    
       public native String getStringFromC();
}
  1. rebulild工程, 得到.class文件
  2. 在Terminal中执行javah命令:


    javah命令.png
  3. 然后在debug路径下生成了.h文件


    头文件路径.png
  4. 然后main路径下新建jni目录并将h文件剪切过来:


    新建jni目录.png
  5. 在jni路径下将.h文件复制生成.c文件, 并对方法进行修改, 先完成一个生成so文件并成功调用的小demo, 至于语法, 后边详细分析:


    编写C文件.png
  6. 在build.gradle文件中编写so文件名与制定架构下的so文件:
    https://zhuanlan.zhihu.com/p/21359984 这篇文章对so的分析还不错;
    不同架构下的so文件.png
  7. build gradle以后会在build文件夹下生成so文件, 然后复制到main目录下:


    生成的so文件.png
  8. 应用层这样写, 然后大功告成:


    java层调用c代码.png
  9. 实现了java调用c代码, 下一篇文章实现c调用java代码;

相关文章

  • NDK开发->⑴生成so文件及其调用

    1. 前言: 看C走了不少弯路, 单纯的看看概念写写基础代码, 结果没过多久就忘了, 索性重新快速过了一遍C, 先...

  • Android Studio NDK开发

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

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

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

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

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

  • Android NDK入门 —— 生成多个so文件

    前言 我会在小专栏和简书一起分享。约定写一篇如何生成多个so文件,要做ndk开发肯定会涉及到生成多个so文件,此次...

  • Android-NDK | 指定库文件名字

    在 Android-NDK 开发中,生成的 ****.so 文件不符合规范,需要在打包时指定一个文件名。 开发环境...

  • android Ndk JNI开发 入门

    相信很多人对于NDK 开发都是懵逼的,比如都知道把加密的逻辑以及密钥放在so文件中,但是你知道怎么生成so文件吗?...

  • Android Studio 调用so库

    前言 前面一篇讲了如何使用ndk-build生成so库,这一篇就写写如何调用。 引入so库 如图,将生成的so库拷...

  • ndk编译生成so

    ndk-build编译生成so库 本文讲述使用Android 的ndk-build来编译生成so库,在命令行中编译...

  • android-性能优化-so优化

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

网友评论

      本文标题:NDK开发->⑴生成so文件及其调用

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