温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android Studio如何查看源码并调试

发布时间:2020-07-27 10:33:50 来源:亿速云 阅读:409 作者:小猪 栏目:移动开发

这篇文章主要讲解了Android Studio如何查看源码并调试,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。

背景

最近遇到一个Dialog问题,在6.0的手机上才可以重现,但是我们的工程已经是targetsdk=28了,点击Dialog的引用,只能看见28的class文件,现在我也越来越懒了,以前针对这种问题,我都会写个demo,去重现问题,但是现在希望能直接在当前工程快速定位出原因,能够基于源码debug肯定更好了,为了实现这个懒的目标,我找了很多办法,下面就一一介绍下

方法一 切换compilesdk

studio默认使用的是gradle里配置的compilesdkversion,只要你把compilesdkversi设置成23,自然就可以通过查看define的快捷键,进入到对应的class文件,但是我的项目已经是28了,降回6.0,必然有很多API无法编译,此路不同

方法二 寻找studio插件

既然studio提供的默认方式不行,那我们就找插件来实现呢?通过各种搜索大法,我找到了一款不错的插件,AndroidSourceViewer ; 功能十分强大:

  • 支持查看 Android / Java 任意版本源码
  • 支持对比 Android / Java 任意两个版本源码差异
  • 支持 Android 官网文档查看和方法定位
  • 支持 Native 方法源码查看

具体可以看截图:

正当我满心欢喜的开启debug时,发现studio无法识别该代码,原因是作者的思路是在类名前面加版本号。。。例如.AndroidSourceViewer/cache/android/app/8.0.0_r4-Dialog.java于是我愤怒的提了个issue此路再次失败

方法三 修改studio配置,直接链接到对应源码

我的想法时,我找到studio跳转源码的配置文件,将原本跳到28的jar包的配置,修改成23,这样不就完美了,于是我又开启了搜索大法,网上都说,修改jdk-table.xml,可以达到我的目的,然而。。亲测不可以;不论我怎么修改,都没有反应;
于是我又想到了idea的缓存,果然功夫不负有心人,我找到了这么个文件:

.idea/libraries/Gradle__android_android_28.xml

<component name="libraryTable">
 <library name="Gradle: android-android-28">
  <CLASSES>
   <root url="jar://$USER_HOME$/Library/Android/sdk/platforms/android-27/android.jar!/" />
  </CLASSES>
  <JAVADOC />
  <SOURCES>
   <root url="file://$USER_HOME$/Library/Android/sdk/sources/android-28" />
  </SOURCES>
 </library>
</component>

PS:该文件可能没有,大家可以手动添加到自己的缓存里

通过修改这个文件,只要源码路径存在,那就可以很方便的其他版本的源码并且调试了;但是修改源码路径有风险,大家还是谨慎操作,同时记得不用的时候清空缓存。。

看完上述内容,是不是对Android Studio如何查看源码并调试有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI