之前写过一篇关于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相同的。你可以发现你可以在自己的主类中调用了。
如果你还有问题,可以留言问我。