用Androidstudio生成SO包

    科技2022-07-15  99

    最近项目有个需求,里面需要自己生成so包,但是以前一直没有接触过,今天尝试着自己弄了一个,防止以后忘记了,写个文章记录下来相关步骤:

    首先,so包会涉及到jni的内容,我们要记得配置NDK,下载好NDK之后,我们开始创建项目,这里比较重要的一步是,我们创建项目的时候要选择C++,如下图:

    然后把前面下载的NDK配置到项目中:

    检查下这里是否有配置好:

    准备工作完成,开始操练:先创建

    然后在终端中命令进入MyJni.class所在的java目录下:

    右键复制MyJni类的全路径,使用Javac命令生成 class文件:

    然后使用javah命令生成 .h头文件:(包名.类名)

    将生成的.h文件移动到cpp的文件夹路径下:

    将原来cpp文件夹路径下的native-lib.cpp文件删除,然后创建一个新的main.c:

    我们使用CMake来生成so的, 所以要修改CMakeLists.txt来指定so名称和so的源文件的相对路径:

    然后先sync 一下项目,这时候的main.c就没有报错了,然后再rebuild project,就生成了so包:

    就此,Androidstudio生成so包的操作就完成了。

    Processed: 0.021, SQL: 8