android studio 2.3.2 ndk so的生成和使用

来源:互联网 发布:淘宝突破类目数量限制 编辑:程序博客网 时间:2024/06/05 17:56

之前写过一篇关于android studio 配置ndk的方法,自己感觉也相当繁琐,最近发现android studio自带ndk支持c++,使用起来相当方便

这可能需要相对新一点的版本的as

1:新建一个项目,支持c++的一个小框点勾,之后一顿操作,直到创建完成,你会发现有一个cpp文件,这个之前是要自己写的,现在as

已经帮忙生成了。你可以直接运行app,会发现直接可以运行,输出的文字是cpp文件中定义好的。so文件你可以在build/intermediates/

cmake/debug/obj中看到

2:你是否想在自己的其他项目中调用这个项目生成的so文件的,就像你可以调用百度地图的so文件多方便啊。

这边有一个问题,我之前纠结好久,就是你的so文件的路径和新项目中调用的路径要相同,这话可能优点难懂,我这样说吧,之前系统是在

mainactivity中System.loadLibrary(); 现在我们新建一个class:

public class load_str {    static {        System.loadLibrary("native-lib");    }    public static native String stringFromJNI();}
在mainactivity 中load_str.stringFromJNI()调用。之后运行一遍,你再去之前的位置找到so文件。copy到另外一个测试项目中。
copy到一个jniLibs的文件夹,与java同级别。之后再新建一个包名与之前load_str相同的。你可以发现你可以在自己的主类中调用了。
如果你还有问题,可以留言问我。

原创粉丝点击