主要是参考下面的blog:
按照这个blog的顺序进行编译就可以
问题1:
可能是由于我的android studio是新的版本,卡在第4步骤中用javah生成native h文件,解决的方法是在运行javah命令之前将第三步骤用javac生成的GetNum.class文件单独放到另外新建的文件夹中,不要将GetNum.class 文件和GetNum.java文件放在一个文件夹中;
问题2:
debug到手机设备中报错,需要配置AndroidManifest.xml 文件
<activity android:name=".MainActivity" android:exported="true">
问题3:
利用ndk-build 命令生成so文件直接可以使用的配置如下:
在安卓的build.gradle 里面增加下面的配置
sourceSets { main() { jniLibs.srcDirs = ['src/main/libs'] jni.srcDirs = [] //屏蔽掉默认的jni编译生成过程 } }
如下图所示,这样子编译so文件成功之后就可以直接在demo的project中调用