Android~Anroid Studio中使用NDK编译调用.so

什么是NDK?NDK就是安卓中实现JNI的一种方式,相信学习过java的小伙伴JNI并不陌生。之前使用NDK是在eclipse搭建的安卓开发环境中,现在公司项目需要又回来好好梳理一下NDK。同时网上搜罗一下,附上觉得好的文章。网上的教程供参考,但是实际还是要以操作为准,如遇到问题则需对比教程和操作提示一步一步完成!

1、下载安装相关的插件

使用AndroidStudio,到Android SDK选项的地方下载需要的插件,包括LLDB、CMake、NDK,并配置好NDK路径和环境变量。

2、生成头文件

新建测试工程后,编写native方法java文件,再使用javah命令生成对应的.h文件,这里注意观察生成的.h文件名和函数名规则。javah命令请按下图输入,附件参考的文章这里出入很大!
第二步

3、ndk编译.so库

上一步我们完成了.h的生成,这一步需要编写两个.mk文件放到jni路径,再编写我们最终的c代码,也需要注意函数和包含的头文件规则。最终切换到jni路径下,执行ndk-build命令。
第三步

4、编写测试代码

最后一步是见证奇迹的时刻了,编写相应的代码在APP上面显示出来。先配置好grade编译文件,之后在JniTest中或其他java文件中使用System.loadLibrary加载我们自己编译生成的.so库,最后就是调用java中提供的native方法。

public class JniTest {
    // 动态导入 so 库
    static {
        System.loadLibrary("Test");
    }

    public native static String get();
}

参考文章:
【1】使用 Android Studio 写出第一个 NDK 程序(超详细)
【2】慕课网 Android-NDK入门
【3】慕课网 Android-NDK进阶
【4】Android studio 配置NDK —实验步骤跟进记录(初定完结)
【5】Android Studio3.0 NDK开发(NDK-Build方式,JNI基础知识以及踩到的坑)
【6】Android Studio NDK编程-环境搭建及Hello!
【7】AndroidStudio 进行 JNI / NDK 开发:初步配置及使用
【8】Android Studio NDK开发——三步实现HelloWorld一篇就够了

发布了99 篇原创文章 · 获赞 185 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/Bluechalk/article/details/98111224