针对刚入门NDK的同学简化一下入门程序的编写
一、新建NdkTest项目。
二、直接在目录下新建native方法工具类,方便调用。
三、MainActivity中调用Native方法更新UI。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
NdkUtils ndkUtils=new NdkUtils();
TextView textView=new TextView(this);
textView.setText(ndkUtils.getStrinFromC());
setContentView(textView);
}
}
四、Rebuild Project,查看目录下是否生成了相应的class
五、利用AS中的命令窗口Terminal的javah命令生成native方法的头部文件 javah -jni 包名.类名,执行命令之后再当前目录下会生成.h的文件
六、在main中右键新建jni文件夹,把刚刚生成的.h的头部文件剪切到此目录下,新建名为ndkdemo(随便起)的c文件,把头部文件中的方法复制到该文件中,改写返回信息
七、在module的build.gradle中配置ndk的相关信息,点击箭头右上角,整理编译,根据错误信息,在配置文件中加入错误信息
八、记得在MainActivity中导入so文件库,运行项目,成功编译,可以在项目编译目录下面找到so文件库
static{
System.loadLibrary("ndkdemo");
}
九、得到了so文件,直接引用so文件就更简单了,只需要在main中新建名为jniLibs的文件夹,把相应的so文件都复制进去,只要包名和方法名都相同,在其他项目中就是这样么简单的引用so库。
查看原文章
附上demo链接