![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NDK
xingfeng_coder
路漫漫其修远兮,吾将上下而求索
Gitbook地址:https://xingfeng.gitbook.io/hust
简书地址:https://www.jianshu.com/u/57f41372c68e
展开
-
你应该了解的JNI知识(一)——静态注册与动态注册
最近一直在做native这边的跨平台开发,整个结构基本就是下图:大体说来就是,底层C/C++代码。那么对于两端分别有不同的处理:对于Android端而言,由于需要给Java端使用,因此需要提供JNI接口,然后将整个的代码打包编译成.so给Android端使用对于iOS端,由于oc是可以直接调用c的,但是需要将代码打包编译成iOS需要的Framework,然后由于需要给iOS端使用,...原创 2019-06-10 14:59:14 · 896 阅读 · 0 评论 -
你应该了解的JNI知识(二)——Java与JNI互相调用
在你应该了解的JNI知识(一)——静态注册与动态注册中,了解了JNI是如何使用的,以及两种注册方式的使用以及区别。本篇博客将介绍Java和JNI的互相调用,因此主要包括两部分:JNI层调用Java层Java层调用JNI、Native层JNI层调用Java层JNI层调用Java层有点类似Java的反射机制,需要首先找到类、再找到某个方法或字段,再进行调用。这里涉及JNIEnv的几个方法...原创 2019-06-17 11:26:51 · 946 阅读 · 0 评论 -
你应该了解的JNI知识(三)——注意点
native层打印logcat日志native层打印logcat日志,有两种方式:调用Java层的Log.i/v()之类的方法,可以参考你应该了解的JNI知识(二)——Java与JNI互相调用,里面介绍了如何在native层调用Java代码。使用liblog.so进行打印,和Log.i/v()底层使用同样的原理这里主要介绍如何使用第二种方法打印日志。主要包含三个步骤:cmake文...原创 2019-07-02 10:11:24 · 530 阅读 · 0 评论 -
跨平台开发的那些事
跨平台架构oc中,直接引用c、c++代码的需要命名为mm格式自己开发的framework是静态库;Android的.so是共享库os x中,.a表示静态库,.dylib表示动态库linux中,.a表示静态库,.so表示动态库windows中,.lib表示静态库,.dll表示动态库绿色表示库,黄色表示接口层,红色表示调用层CMakeCMake是一个开源的跨平台自动化构建系...原创 2019-08-05 17:02:57 · 1448 阅读 · 0 评论