使用Android Studio调试Android Framework代码
来源:互联网 发布:轻小说怎么写 知乎 编辑:程序博客网 时间:2024/05/23 00:01
阅读源码很枯燥,如果能单步调试岂不是能使逻辑更清晰,本文章讲如何调适android framework。本文使用的环境是ubuntu 14.04,jdk1.6。Android4.4.2源码(有兴趣可以去下载更新版本的代码,其他版本源码编译需要的jdk版本不同,请配置合适的jdk),Android Studio调试其他版本源码framework同理。
如已经编译过源码请跳过1,2步骤。
1.下载android源代码
官网下载https://source.android.com/source/downloading.html(需要翻墙,安装git,repo)。
国内网盘下载http://blog.csdn.net/ilittleone/article/details/6823441
2.编译android源码
官网https://source.android.com/source/building.html
步骤:
a.初始化环境,在源码目录中执行
source build/envsetup.sh或者. build/envsetup.sh
b.选择build类型
lunch aosp_arm-eng
有三种类型:user,userdebug ,eng
这里选择eng
c.开始编译
make -j4
j后边的数字是使用几个线程编译,根据自己cpu配置自行决定,一半为核心数目2倍。
然后就是漫长等待,中间出现各种错误,自行网上搜索解决,大多都是缺少各种配置环境,挨个安装就好。
3.生成android.ipr和android.iml文件
进入Android 源码根目录
执行
mmm development/tools/idegen/
这行命令的意思是编译idegen这个项目,生成idegen.jar文件.生成成功后,会显示这个jar包的位置,并显示 #### make completed successfully
然后执行
sh ./development/tools/idegen/idegen.sh
这行命令的意思是生成对应的文件:android.iws, android.ipr, android.iml .
4.android studio导入源码
生成上述对应的文件后,打开Android Studio,选择打开一个现有的Android Studio项目,选择Android源码的根目录,导入即可(起作用的是android.irp文件).在配置sdk版本之后就可以查看Android 源码了.
导入过程比较慢,可以打开android.iml参考网上文章过滤掉一些模块。
5.调试代码
Run->Attach debugger to Android process选择要调试的程序
选择要调试的程序。
这里选择了自己的一个程序,来调试ListView,虚拟机中国年滑动下ListView,编辑器中进入了断点,这样就可以开开心心的,一步一步研究android的一些源码的原理
注意:
调试的时候,国产手机有的断点进不去,可能是厂商修改了framework的原因(具体有待考证)所以我这里使用的是虚拟机。
参考:
Android官网http://source.android.com
http://www.jianshu.com/p/c85984cf99e2
- 使用Android Studio调试Android Framework代码
- 用Android Studio调试Framework层代码
- 用Android Studio调试Framework层代码
- 用Android Studio调试Framework层代码
- Android Studio在线调试Android Framework Java代码
- Android Studio代码调试
- Android studio 代码调试
- Android Studio代码调试
- Android Studio代码调试
- Android Studio 调试跟踪代码
- Android Studio代码调试大全
- Android Studio中代码调试
- Android Studio代码调试大全
- Android Studio代码调试大全
- Android Studio代码调试大全
- Android Studio调试smali代码
- Android Studio代码调试大全
- Android Studio代码调试大全
- Android中为何会显示隐藏的UI?
- DataGrid 数据表格
- 多线程
- 游子之于流年,一如乱红之于微风
- 中国剩余定理(除数不互质)
- 使用Android Studio调试Android Framework代码
- 主流JS框架中DOMReady事件的实现
- 关于用户体验设计的理解---2016/1/19
- 性能 关于性能优化的思考
- Redis学习记录之Replication(二十八)
- iOS开发之压缩,上传图片
- java程序导数据
- PHP之XAMPP安装笔记
- 文档内容管理软件-----华途