图/文 听鬼哥说故事

闲话少说,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 首发,转载请注明出处。


跟着鬼哥学so修改,一,准备篇相关推荐

  1. 跟着鬼哥学so修改,三,答案篇

    几篇分析好的文章: http://www.pd521.com/thread-114-1-1.html     xxoo http://www.pd521.com/thread-113-1-1.html ...

  2. 跟着鬼哥学so修改,三,作业篇

    作业: 通过前面两篇文章的学习,请自行分析此应用,将当前用户类型修改为Gold Vip 用户. 有两种以上的方式可以修改的,有兴趣的同学请进行分析,写一下分析记录,可另起文章发布其过程与思路. 明天或 ...

  3. 跟着鬼哥学爬虫-10-python微信-5-加上了人工智能回复!

    跟着鬼哥学爬虫-10-python微信-5-加上了人工智能回复! 其实人工智能回复,现在网上有很多开源的机器学习,AI学习的框架,但是最重要的一点就是没有语料,也就是没有相互回答的数据内容. 所以这个 ...

  4. 跟着鬼哥学爬虫-5-更新妹子图库质量,提高微信群聊发图速度

    跟着鬼哥学爬虫-5-更新妹子图库质量,提高微信群聊发图速度 第三篇中的图库,群里大家都说质量稍微次一点,现在重新爬了个网站更新一下. 比上一篇的代码也优化了一点,对于自动保存的文件名,采用数字方式直接 ...

  5. 跟着鬼哥学爬虫-3-美女图片!!!

    这一节课,是群里很多娃在等待的课程. 通过前面两篇文章的学习,我们对BeautifulSoup4的简单使用有了了解. 了解了使用这个爬虫的核心是熟悉分析清楚html标签,一些css的简单知识,找准了标 ...

  6. 跟着鬼哥学so改动,二,进行篇

    图/文  听鬼哥说故事 继续上文的内容---------------------------------- 0x1:測试文件的编写 经过上一篇文章的基础学习,如今我们開始进行是用的部分. 既然我们能够 ...

  7. 跟着鬼哥学so改动,一,准备篇

    图/文 听鬼哥说故事 闲话少说,so的改动,重要性大家都知道,这里从头编写so文件,分析so文件,改动so文件,打算做一个系列的教程,当然,主要是看时间同意. android的sdk配置以及ndk环境 ...

  8. 跟着鬼哥学PyQtPart.2

    <span style="font-family: Arial, Helvetica, sans-serif;">0x1:</span><span s ...

  9. 跟着鬼哥学PyQt Part.1

    中秋几天不出去玩了,留在家里把PyQt的相关资料学习一下,这里仅记录一下学习的相关记录,留下存档,便于以后翻阅.主要的目的是编写一个反编译和回编译的工具,稍后可以慢慢随着需求补充上一些搜索和修改的功能 ...

最新文章

  1. 丹佛斯变频器型号说明_英威腾变频器Goodrive20系列产品型号说明及功能介绍
  2. RuntimeError: one of the variables needed for gradient computation has been modified by an inplace o
  3. 60个高质量的CSS、XHTML网页布局模板下载
  4. 设计代码说明什么是多态性?如何实现多态?(代码中要写注释解释)_狗屎一样的代码!快,重构我...
  5. 【重难点】【Java基础 03】hashCode() 和 equals()、代理模式
  6. java object jsonobject_JSONObject简介
  7. python 中间件
  8. Linq to sql(六):探究特性(四)
  9. 自定义快捷键整理 - Windows
  10. Vue 截取视频第一帧作为封面图 然后转成base64,base64转成图片
  11. PDF如何解密?这些方法你知道吗?
  12. Python制作某电商平台商品竞拍脚本,能自动定时、抢拍、购买!吊不吊?
  13. java-net-php-python-jspm购物商城网站演示录像2019计算机毕业设计程序
  14. TVB的武侠怎么就拍得这么好看呢?
  15. [CSDN]我的2013,好久不见
  16. 联想miix2-11 linux,联想Miix2 11电脑硬盘分区详细教程
  17. Java学习 - URL短地址压缩算法
  18. 程序员的出路是什么?
  19. OpenCV - 均衡直方图、Log变换、伽马变换3种图像增强方法
  20. xp出现i386asms的解决方法

热门文章

  1. TKDE 2020 | 综述:基于知识图谱的推荐系统
  2. TKDE 2018 | A Comprehensive Survey of Graph Embedding: Problems, Techniques, and Applications
  3. 【PyTorch】8 语言翻译Torchtext实战——英语和德语翻译、Attention模型、 Pytorch 1.8 安装
  4. 【用C#写游戏-XNA游戏编程】坦克大战(三) 让面向对象的坦克在游戏画面上跑起来
  5. 炉石兄弟 Hearthbuddy 新手教程
  6. 频繁加班,你还能坚持多久
  7. 计算机技术上课,计算机领域新技术讲座上课安排.pdf
  8. 谷歌一年收购盘点:侧重本地生活与移动支付
  9. mysql宿舍水电管理系统_田林宿舍水电管理系统
  10. 经典英语演讲 I have a dream