图/文 听鬼哥说故事
闲话少说,so的修改,重要性大家都知道,这里从头编写so文件,分析so文件,修改so文件,打算做一个系列的教程,当然,主要是看时间允许。
android的sdk配置以及ndk环境下载,请同学们自行google即可。
翻墙也不会,工具也不会用,搜索也懒得搞,请直接略过本文即可。
0x1:新建立一个安卓工程
0x2:编写调用so代码和方法定义
在MainActivity.java同目录下创建一个JniGg.java文件,用于调用so
0x3:生成文件头.h文件
在这个目录可以看到我们编写好并且已经编译的class文件,eclipse是自动编译的。
一切正常编译,那么现在我们回到工程根目录下:
然后在命令行切换到此目录:
现在我们使用下面的命令:javah -classpath bin/classes -d jni com.ggndktest1.JniGg
不报错,并且成功编译出.h文件,才算成功的。
上面需要注意的是那个bin/classes,因为我的电脑上编译完的classes目录是这个样子的,参照上文那个文件目录的截图图片,个别电脑上不需要/classes。然后在Eclipse,右击工程,进行刷新,可以看到如下截图:
0x4:编写c代码
在jni目录下新建file,gg-jni.c自己看看代码,也就知道啥意思了
然后就是Android.mk文件的编写了
0x5:生成so文件
切换到工程根目录,然后直接ndk-build即可。这里需要注意,ndk-build需要配置环境变量,自行搜索配置方法即可。
0x6:android调用代码
新建一个TextView,然后显示so里面的字符串。然后运行我们的测试代码:
|