Golang开发动态库的实现
我们平时使用的动态库都是由C/C++开发最后生成的.so文件。可以先看看一个JNI的开发过程。有两种方式,现在一种比较快的方式是AndroidStudio你在创建项目选择Module的时候它会给你个JNI的模板,直接使用那个就行。还需要些一些配置,因为在AndroidStudio中是Gradle去帮我们编译C++的代码,所以需要写这些配置。还需要一个Application.mk当然这样还不行,都说了是Gradle进行编译,那么肯定还要在Gradle中写一些配置这样就能简单的跑一个JNI的Demo,总的来说就是Java这边写一个类定义一些native方法和加载,C++这边写具体的方法实现。从这里看得出,go帮我们生成了一个java文件,这个java文件定义了再Go中命名的原生方法。
用户评论