一直以来都打算学学ndk,jni方面的知识,因为种种原因一直耽搁了今天花了一下午的时间,跟着大神的脚步,写了个简单例子
学习并编写简单的例子可以根据这篇博客
http://blog.csdn.net/eastmoon502136/article/details/50759209
这里主要讲遇到的一些问题做个记录:
1.自己编译so库, 一个.h文件对应着一个.c文件,就相当于接口和实现类(暂时这么理解,一部分,并不完全,类似)
2.如果编译完so库,想给别人使用,可是把so给别人用,同时也要把native方法的那个类打成jar(这里sudio打成jar包暂时没有去做,只用eclipse做了个jar包使用),一并发给别人(或者直接把类拷给别人,但是这是必须要求另外一方这个类的包名和你的一样,不然无法调用so库)。
3.android studio 默认放so库的位置是jniLibs 所以可以直接在src/main下创建jniLibs文件夹,放入so库即可,无需在build.gradle进行任何配置,也可以直接吧so库放入libs文件夹下,但是这时需要在build.gradle下配置 sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}
暂时就这几点