针对刚入门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文件,把头部文件中的方法复制到该文件中,改写返回信息

#include /* * Class:     com_cg_ndktest_NdkUtils * Method:    getStrinFromC * Signature: ()Ljava/lang/String; */JNIEXPORT jstring JNICALL Java_com_cg_ndktest_NdkUtils_getStrinFromC  (JNIEnv * env, jobject jject){   return (*env)->NewStringUTF(env,"hello ,My name is JNI Demo");  }

七、在module的build.gradle中配置ndk的相关信息,点击箭头右上角,整理编译,根据错误信息,在配置文件中加入错误信息



八、记得在MainActivity中导入so文件库,运行项目,成功编译,可以在项目编译目录下面找到so文件库

static{    System.loadLibrary("ndkdemo");}



九、得到了so文件,直接引用so文件就更简单了,只需要在main中新建名为jniLibs的文件夹,把相应的so文件都复制进去,只要包名和方法名都相同,在其他项目中就是这样么简单的引用so库。



附上demo链接

更多相关文章

  1. 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
  2. 一款常用的 Squid 日志分析工具
  3. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  4. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  5. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  6. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  7. New Android(安卓)Project In Eclipse with SDK 4.0
  8. Ant 打包 Android(安卓)应用
  9. Android基础学习【历史流程重走】 ---- Android入门基础(二)

随机推荐

  1. Android——从init进程启动流程
  2. android studio开发 控件布局
  3. Launcher桌面点击&长按&拖动事件处理流程
  4. Android JNI简单实例
  5. android中context
  6. android studio常用控件
  7. Android图表控件MPAndroidChart——曲线
  8. android Makefile
  9. Android requires compiler compliance l
  10. android跨进程通讯一:android中跨进程通