听鬼哥说故事 发表于 2014-12-17 12:13:26

跟着鬼哥学so修改,一,准备篇

图/文 听鬼哥说故事

闲话少说,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里面的字符串。然后运行我们的测试代码:



相关附件和文档:

http://pan.baidu.com/s/1pJ2Y047


本文由www.pd521.com 首发,转载请注明出处。


蝌蚪它大爷 发表于 2014-12-17 12:25:03

很好的教程,多谢鬼哥。

猫头鹰 发表于 2014-12-17 12:31:10

留个记号,慢慢学习

vxzv 发表于 2014-12-17 13:01:52

还请鬼哥把so编写部分详细讲解下,不胜感激!!!

stephen001 发表于 2014-12-17 13:12:45

才开了个头   期待后续

xxoo 发表于 2014-12-17 13:25:54

学习了 哈哈哈哈哈哈

vVv一 发表于 2014-12-17 14:27:54

支持鬼哥,支持论坛~

荆轲刺秦琼 发表于 2014-12-17 15:45:16

支持鬼哥,支持论坛~

Exploit 发表于 2014-12-17 19:52:03

支持。。感谢

szs6008 发表于 2014-12-17 21:27:15

支持,非常好的教程,期待后续 , 翘首以盼 :lol
页: [1] 2 3 4
查看完整版本: 跟着鬼哥学so修改,一,准备篇