最全获取开源项目依赖中的arr、source,dubbo原理面试题

最后

按照上面的过程,4个月的时间刚刚好。当然Java的体系是很庞大的,还有很多更高级的技能需要掌握,但不要着急,这些完全可以放到以后工作中边用别学。

学习编程就是一个由混沌到有序的过程,所以你在学习过程中,如果一时碰到理解不了的知识点,大可不必沮丧,更不要气馁,这都是正常的不能再正常的事情了,不过是“人同此心,心同此理”的暂时而已。

道路是曲折的,前途是光明的!”

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

配置好之后记得同步一下Gradle,然后就可以在项目的“外部库”中看到依赖的aar了,如下:  

![在这里插入图片描述](https://img-blog.csdnimg.cn/1ae7a07b53ee4cca89f52da08e4eddb8.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAYW5kcm9pZF9jYWlfbmlhbw==,size_11,color_FFFFFF,t_70,g_se,x_16)
  1. 关联source.jar和javadoc.jar

    右击依赖的aar,然后选择“Library Properties”,效果如下:

    在这里插入图片描述

    在这里插入图片描述

    如上图,可以看到,默认是不会自动帮我们关联source.jar和javadoc.jar的。点击最左边的加号来添加,如下:

    在这里插入图片描述

    在添加javadoc的时候,会弹一个框出来让你选择它是什么类型的,如下:

    在这里插入图片描述

    提示是说不知道这个javadoc.jar是什么文件各类,所以弹框让我们选择类型,就选JavaDocs即可,而在添加source.jar的时候Android Studio是自动识别类型的,就不会弹出这个对话框。

添加了source.jar和javadoc.jar之后,在敲代码时就可以看到对应的类的文档,或者看类的源代码。

需要注意的是,一个库项目中不能使用aar,因为在把这个库项目再打包为aar时就会报错,提示错误如下:


Execution failed for task ':AppList:bundleReleaseAar'.

> Direct local .aar file dependencies are not supported when building an AAR. The resulting AAR would be broken because the classes and Android resources from any local .aar file dependencies would not be packaged in the resulting AAR. Previous versions of the Android Gradle Plugin produce broken AARs in this case too (despite not throwing this error). The following direct local .aar file dependencies of the :AppList project caused this error: E:\11_Workspace\01_AndroidStudio\AppListLib\AppList\libs\agentweb-4.1.4.aar



* Try:

Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.



如果要在库项目中依赖第三方库,而且是jcenter中的依赖库,但又不想使用jcenter了,但又不能使用本地aar,怎么呢?可以去github上把该开源项目的源码拿下来,直接放到自己的库项目中,这样就没有问题了。 还有一个更简单的,如果确定这个开源项目没有使用到Android的资源文件,只是一个纯class包的话,可以使用source.jar,把这个放到libs目录即可,后来我又发现,source.jar中的源码有些时候并不是完整的,也就是说我们在使用aar的时候,点击某些类发现看不到源码,而有些类有源码,这说明aar对应的source.jar是不完整的,所以,为了安全起见,我们直接解压aar,里面有一个classes.jar,这里面对应的就是编译好的*.class文件了。

这样,我们就有了classes.jar和sources.jar,classes.jar需要我们手动重命令一下,加上开源项目的名称和版本号,然后和sources.jar一起放到libs目录中,如下:

在这里插入图片描述

然后在gradle中添加依赖,注意,不能使用下面这种依赖:


implementation fileTree(dir: "libs", include: ["*.jar"])



这样的话我不知道它是否会把source.jar也编译了,会不会和classes.jar造成冲突,我没有去实验,我使用了下面的依赖方式:


implementation fileTree(dir: "libs", include: ["commons-base-0.10.8-classes.jar", "anko-sdk27-0.10.8-classes.jar"])



这样我们就单独指定了只依赖两个classes.jar,同步gradle之后,classes.jar并不会出现在外部库列表,而是直接在libs目录中可以展开,当我们点击查看一个类的源码时,也是直接跳到libs目录的,如下:

在这里插入图片描述

我们随便打开一个class文件,这时在窗口右上方就有“选择源(S)…”,我们点击它来关联源代码,如下:

在这里插入图片描述

最后

关于面试刷题也是有方法可言的,建议最好是按照专题来进行,然后由基础到高级,由浅入深来,效果会更好。当然,这些内容我也全部整理在一份pdf文档内,分成了以下几大专题:

  • Java基础部分

  • 算法与编程

  • 数据库部分

  • 流行的框架与新技术(Spring+SpringCloud+SpringCloudAlibaba)

这份面试文档当然不止这些内容,实际上像JVM、设计模式、ZK、MQ、数据结构等其他部分的面试内容均有涉及,因为文章篇幅,就不全部在这里阐述了。

作为一名程序员,阶段性的学习是必不可少的,而且需要保持一定的持续性,这次在这个阶段内,我对一些重点的知识点进行了系统的复习,一方面巩固了自己的基础,另一方面也提升了自己的知识广度和深度。

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

需要这份系统化的资料的朋友,可以点击这里获取

.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)收录**

需要这份系统化的资料的朋友,可以点击这里获取

  • 24
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值