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

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

用Androidstudio生成SO包

用Androidstudio生成SO包

用Androidstudio生成SO包

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

用Androidstudio生成SO包

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

用Androidstudio生成SO包

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

用Androidstudio生成SO包

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

用Androidstudio生成SO包

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

用Androidstudio生成SO包

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

用Androidstudio生成SO包

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

用Androidstudio生成SO包

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

用Androidstudio生成SO包

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

用Androidstudio生成SO包

用Androidstudio生成SO包

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

用Androidstudio生成SO包

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

相关文章:

  • 2022-12-23
  • 2021-04-26
  • 2022-01-11
  • 2021-12-14
  • 2021-11-07
  • 2022-12-23
  • 2021-04-26
猜你喜欢
  • 2021-06-30
  • 2021-08-30
  • 2021-06-07
  • 2021-10-19
  • 2021-07-17
  • 2022-12-23
  • 2021-09-30
相关资源
相似解决方案