美文网首页
Android源码修改实践之基础

Android源码修改实践之基础

作者: 修符道人 | 来源:发表于2020-01-09 16:53 被阅读0次

1.源码定位

  • 定位头文件
man 函数名

使用场景:在某个.cpp文件中,使用了个函数,但是不知道这个函数到底位于哪个头文件里。可以使用上面的指令定位头文件。

比如定位一个库的mk文件:
grep 'LOCAL_MODULE := sqlite-jdbc' -Inrw --include=*.mk

查找build系统里的变量定义在哪个文件
grep 'BUILD_STATIC_LIBRARY' -Inrw --include=*.mk

  • 定位结构体的定义位置
    grep "struct 结构体名字" -Inrw --include=*.h

2.分析文件

so文件分析

  • 查找文件是否有某个方法
    strings libdrv.so | grep functionname
    还有一种方法,通过IDAPro调试也可以查看。

3.打印日志

  • c或者cpp文件里打印Android日志
    看我这篇博客https://www.jianshu.com/p/08e3eeecaf8e
  • java文件里打印日志
    看我这篇博客https://www.jianshu.com/p/d1525c64cb8f,使用Logger.java而非Log.java。
    libcore模块的Java类可以直接使用Logger.java类,其它模块的Java类mk基本都会依赖这个libcore模块编译的core库,所以也可以直接使用。

当然,也可以使用System.out.println()打印日志。

4.高效的修改源码

将源码粘贴到IDE里修改完了,再粘到源码所在位置替换。注意(包名也要替换

5.怎么记录源码修改记录

相关文章

网友评论

      本文标题:Android源码修改实践之基础

      本文链接:https://www.haomeiwen.com/subject/tvjxactx.html