android的SDK版本升级之后就遇到源码不能看的问题,很烦恼,就找了一波资料,终于解决了。
首先我的AndroidStudio在打开源码的时候出现了错误是“Decompiled.class file,bytecode version:52.0(Java 8)”
以下是对.class和.java文件区别解释的连接(https://blog.csdn.net/qq_27093465/article/details/52858092),明白的或不想看的可以不看,不是问题的重点。
方法一:如果无法关联源码出现了“Sources for ‘Android API 23 Platform’ not found”之类的错误,建议看(https://blog.csdn.net/a_zhon/article/details/52231079),不错的方法。
方法二:如果还是不能解决,仅仅只是报错“Decompiled.class file,bytecode version:52.0(Java 8)”,并且右上角没有什么download之类的提示,那就是遇到和我一样的问题了,解决办法很简单,打开设置:
Appearance&Behavior-->System Settings-->Android SDK这个路径,下载对应的Sources for Android ...
下载完成之后,再点击一下右上角关联一下,然后就会看到.class类就对应出现了.java类。
更新 2019/05/30 10:57
今天打开一个项目,想查看FragmentTransaction的源码,发现也变为了.class文件,提示错误如下:
点击下载肯定是没用的,不知道如果翻墙过后的话可不可以下载。下面看这里:
注意标被注释且标红框的那一行代码,因为发现FragmentTraction.class类是来自于这个依赖下的,FragmentTraction.class路径如下:
之后,再进入源码查看是这个类:
这个类的路径如下:
原因:看那个路径发现包是supprot-fragment-28.0.0.arr,可能是因为这是个“.arr”包,一般来说包是arr的都是看不到源码的,不过那也因该是乱码。具体原因尚不清楚。
更新 2020/01/14 13:55
最近发现源码又不能look了,记录一下另一种操作
总结:导致源码不能查看的原因可能是多种,这里记录一下我遇到的,希望能帮你解决掉问题
最后
开通了个公众号,扫码关注一下,可以获得超过1个G的免费PDF书籍学习资料,并且可以及时收到我分享的内容哦!