【Android】Android studio调试源码版本不对应问题

在使用Android studio进行调试的时候,我们经常会需要debug到源码内部,这个时候经常会出现debug位置与源码行号对应不上的问题,这是因为我们使用的测试设备中的系统版本与我们AndroidStudio中使用的SourceCode的版本不一致导致的。比如我们使用的是6.0的设备,而Android Studio错误地识别并使用了版本为8.0的SourceCode,就会出现这个问题。我们从google  Issue Tracker可以知道,该问题是已知bug:https://issuetracker.google.com/issues/37058409

    据说官方说,这个问题很早就已经解决了,但是实际上我们现在能下载到的版本依旧存在该问题(笔者目前的版本 Android Studio 3.0.1)。目前有两种方案可以暂时解决这个问题。

1. 偷梁换柱:将SourceCode人为替换掉

    我们可以在我们的SDK目录下找到 sources目录,这里面存放的是我们所下载的各个系统版本的源码资源,找到发生错误的源码资源,再用正确的资源替换掉。比如针对我们上面6.0(API 23)系统被错误使用8.0(API 26)的问题,我们进入到sources目录,将android-26目录名称改为android-26-ori,再复制一个android-23,将复制出来的目录改为android-26。之后重启Android Studio进行debug就会发现可以正常对应了,强烈推荐使用该方法。另外如果发现sources中没有我们要找的版本,那就说明我们还没有下载该版本的sourcecode,这需要需SDK中将对应的sourcecode下载一下即可。

2. 改头换面:将配置文件中的compileSdkVersion和buildToolsVersion都改为指定API

    该方法需要我们将build.gradle中的配置进行修改,使其改为我们设备对应的版本。该方法适用性有限,因为改完之后常常会出现一堆的编译报错,而且对于大工程来说,这种改编译版本的方法代价实在太大,所以这里并不是十分推荐。


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值