最近项目有个需求,里面需要自己生成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包的操作就完成了。