在交叉编译的时候怎么都无法生成so文件,javah生成头文件没错,c文件也没错,Java文件也没错,
原因是JNI文件夹路径不对
在执行javah命令时,我进入的是cd app/src/main/java 这样jni文件夹在java文件夹下,作为一个包存在,这样就无法生成so文件
**执行javah的正确方法:
进入app/src/main目录:cd app/src/main
执行javah命令:javah
javah -d jni -classpath ./java “yourpackage”.”XXXXX”**
-d jni 头文件生成到jni文件夹(当前在\app\src\main目录下,所以.h所在的目录为\app\src\main\jni )
-classpath ./java 指定去当前路径下java下寻找包名指定的类
这样再rebuild一下,就会生成so文件了
android studio开发jni无法生成so文件
最新推荐文章于 2023-02-10 16:31:00 发布