Windows系统Android Studio断点调试Android源码
之前我都是在Windows环境下开发Android。调试代码的时候有时候要进到系统类中去断点调试代码,经常断点断不到,或者就跑飞了。
最近因为在研究一些源码,比如LayoutInflater.inflate()这个方法你要进去一层层调试的话怎么办呢?其实不要再相信网上说的什么还要装Linux环境,哪有那么复杂,这里其实非常非常非常简单。
首先你看下你的壳项目的build.gradle配置
注意这个compileSdk配置,说明你当前使用的编译Android SDK就是31版本的。那最关键的一点就是你调试时候的手机的Android SDK版本一定也要是31的。不管是物理机还是虚拟机,你想要断点调试源码的话肯定调试机的API版本要和对应的Android Studio编译Android SDK版本一致才行啊。
大部分情况大家随便插个物理机或者随便新建一个虚拟机就开干了,都不关注版本的一致性这些,导致源码断点调试不了!!!
那为什么就必须一致呢???
因为Google每个版本都在升级源码,特别是一些常用的类,比如LayoutInflater。你调试机的 API(可以理解就是Android SDK)对应的版本与Android Studio编译时候的版本不一致那调试机运行时调用的源码与编译的源码都不一样(比如可能存在同一个方法对应的行索引都对不上)当然断点跑飞了呀。这里恍然大悟!!!
因此比如我上面Android Studio编译的Android SDK版本是31,那我当然首先必须下好对应版本的Android SDK。
这个都不知道怎么下载的看下图,在设置里去下。
那此时检查你调试机器的API情况。以我的虚拟机为例。 我也用的是31的API哦。
那调试机器的API版本与Android Studio编译时候的API版本都是31,不就完美匹配了么。
那还会断点进不去吗?
那是绝对绝对绝对不可能滴!!!
立图为证
首先我最外部的inflate()调用已经断点走到了
再往里走,断到了
再走,依旧是断到了
完美收工,以后就愉快地源码调试吧,就快乐高效地学习源码吧!!!
Windows系统Android Studio断点调试Android源码相关推荐
- 【Android NDK 开发】Android Studio 的 NDK 配置 ( 源码编译配置 | 构建脚本配置 | 打包配置 | CMake 配置 | ndkBuild 配置 )
文章目录 I . 源码编译配置 II . 构建脚本配置 III . NDK 函数库打包配置 IV . Java 与 C 代码示例 V . CMake 配置 ( CMakeLists.txt ) VI ...
- Android studio断点调试(全在这里)
转载地址:http://blog.csdn.net/huangxiaominglipeng/article/details/53100811 有人说Android 的调试是最坑的,那我只能说是你不会用 ...
- android studio查看jar包源码,Android Studio查看源代码报错
我们经常用Android Studio 查看Android的源代码,今天我们就来学习查看源代码的正确姿势. Android Studio查看源代码 我们用Android Studio查看源代码会遇到下 ...
- Android studio断点调试
如果使用断点调试 1.判断大概哪个地方出现了问题 2.在怀疑的代码旁加上断点 3.点击调试运行 4.程序到断点的地方停下来,接下来我们就一步步开始即可 5.没有5了,断点调试超级方便 来个小例子感受一 ...
- 【BLE MIDI】推荐一个 Android 平台开源 MIDI 软件 MidiSheetMusic ( 相关资料 | Android Studio 中导入 Eclipse 源码 )
文章目录 一. MidiSheetMusic 相关资料 二. Android Studio 中导入 MidiSheetMusic 的 Eclipse 源码 一. MidiSheetMusic 相关资料 ...
- android studio第三方调试,Android Studio直接运行调试签名包
Android Studio 直接运行将apk装载在模拟器或是手机上的都是它默认的一个debug包,而无正式的签名,然而像第三方登录啊.分享.支付等一些功能,都需要打上签名包才能完整使用,所以现在遇到 ...
- android studio 中配置groovy源码_麻省理工教程:使用Unity AR Foundation在AR中查看模型...
本文将分享麻省理工学院的教程-使用Unity AR Foundation在增强现实中查看模型. 在本教程中,我们将介绍如何把3D模型导入Unity,并使用Android设备或iOS设备在AR中查看模型 ...
- 华硕Tinker Board开发板(rk3288处理器)开发 ---- 将Android Studio开发的apk源码放到Android7.1.2源码中进行编译
备注:此Android Studio项目并没有jni,没有使用动态so库,只是一个简单的项目. 1.将Android studio开发的项目移植到Android7.1.2源码中,我们只需要Androi ...
- android studio 断点调试
3 4 5 6 7 8 alt+f8 debug时选中查看值 f8相当于eclipse的f6跳到下一步 shift+f8相当于eclipse的f8跳到下一个断点,也相当于eclipse的f7跳出 ...
最新文章
- 《Python和Pygame游戏开发指南》——1.12 图书中的文本折行
- Java多线程 - 控制线程
- 从0搭建一个Springboot+vue前后端分离项目(四)利用Element框架搭建页面主体部分表格与侧边栏
- 【NLP】全方位解读 | Facebook的搜索是怎么做的?
- 清晰!我们从来都反对“大中台,小前台”的架构设计!
- c语言简单的24点游戏,C语言解24点游戏程序
- FastMM FastCode FastMove的使用
- python中index方法详解_Python中的index()方法使用教程
- java语法特点_Java 语言特点
- Windows磁盘清理工具
- Microsoft Sync Framework Runtime 简介(一篇非常好的MSF介绍文章)
- VideoCapture,mfc读取视频并使用滚动条
- MAC创建ipv6热点
- 【C语言小题】分数求和
- 网易2018校招数据分析师笔试答案作答
- HYSBZ - 2818 Gcd —— 莫比乌斯反演
- 七牛云上传视频并转码
- 开放大学建筑构造计算机考试试题,精编最新国家开放大学电大《建筑构造》形考任务2试题及答案...
- proxysql mysql_利用ProxySQL实现MySQL的读写分离
- 菜单栏管理工具:Bartender 4 for Mac