你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

第三方依赖库中kotlin代码提示/*compiled code*/

2021-10-26 1:35:49

在AS某些版本中,例如Android Studio Arctic Fox | 2020.3.1(新版狐狸那个版本),在看第三方依赖库代码时,出现了这种问题,java部分的代码可以看到完整的方法实现,而kotlin部分的代码在方法实现中提示/*compiled code*/

点Download Sources后,依赖无法看到方法的具体实现 ,经过摸索后,发现原来是编译器的问题,依赖库在打包时,可以选择生成两种jar包,一种是带完整代码和注释的,命名为xxx-source.jar;一种是仅仅带编译后.class的,命名为xxx.jar,例如

在点击Download Sources后,编译器确实下载带完整资源的jar包(如果依赖库有生成并上传),但是不能正确找到并链接上,所以导致了还是无法查看完整方法实现,我们只要正确在Choose Sources选中带完整资源的jar包并链接上即可,首先,我们要知道带完整资源的jar包在哪

C:\用户名\.gradle\caches目录下,

 文件夹modules-2一般就是放着带完整资源的jar包,按照包名路径放着。文件夹transfroms-n放着的就是编译后仅仅带.class的jar包,编辑器为了提高编辑速度关联的就是后者,所有导致kotlin代码无法看方法实现,仅能看到方法声明。下图就是编译器默认的链接的路径

 我们只要按照对应依赖库的包名找到对应带有xxx-sources.jar包链接进来就可以解决问题

 导入进来,会看到提示同步中,成功后重新打开即可看到完整方法实现

 我发现这个问题是在Android Studio Arctic Fox | 2020.3.1这个版本中,可能后续的版本会解决这个问题,我还特意下载之前Android Studio 4.0.1和4.3.0,均没有发现这个问题,估计新版AS的小bug吧