android导入别人的包(connect time out + No subject alternative DNS name matching github.com found.)


我是第一次导入别人的包,然后遇上了很多问题,最终都是尽量直接的解决。因为担心以后还会遇见这种问题,特此记录解决方法。

我主要是connect time out + No subject alternative DNS name matching github.com found.两个问题来回不断的跳出。


第一步:这一步是最关键的解决步骤。

在解决 Android Studio 问题的过程中,我尝试了多种方法,包括修改 URL、手动下载 Gradle 版本、更改 DNS 设置以及关闭防火墙,但这些方法都未能奏效。正当我感到绝望时,我决定修改 `gradle-wrapper.properties` 文件中的 `distributionUrl`,使其从阿里云下载所需的 Gradle 版本。最终,这一方法成功解决了问题。此外,我还删除了项目中的仓库 `repositories`,以进一步优化配置。这一系列调整使我能够顺利地进行项目开发。

distributionUrl=https://mirrors.aliyun.com/gradle/distributions/v7.5.0/gradle-7.5-bin.zip

 

在尝试解决 Android Studio 的连接问题时,我经历了以下过程:

1. DNS 设置问题:我能够通过浏览器正常访问 `google.com` 和 `github.com`,但 `ping` 命令无法访问 `google.com`。这让我意识到可能是 ICMP 协议被限制,而不是网络连接本身的问题,因此修改 DNS 设置可能无法解决问题。

2. 代理设置检查:我确认了 Android Studio 的网络设置为 “No Proxy”,确保没有代理干扰连接。

3. 连接超时问题:尽管尝试了多种方法(如修改 DNS、关闭防火墙等),但仍然遇到 `connect time out` 错误。这让我怀疑可能是网络环境的复杂性(如企业网络限制或 ISP 问题)导致了连接问题。

4. 解决方案:最终,我通过修改 `gradle-wrapper.properties` 文件中的 `distributionUrl`,使其从阿里云下载所需的 Gradle 版本,成功解决了问题。此外,我删除了项目中的仓库 `repositories`,以进一步优化配置。

5. 网络环境的复杂性:尽管我能够通过浏览器访问 `google.com`,但网络请求超时的问题仍然存在。这让我意识到网络环境可能非常复杂,导致某些请求无法正常完成。

6. 经验分享:在查看经验帖时,我注意到许多人通过修改 DNS 设置成功解决问题,但我的情况可能更为复杂。我意识到网络环境的差异可能导致不同的解决方案效果不同。

通过这一系列的尝试和调整,我最终找到了适合我的解决方案,尽管过程中遇到了一些挫折,但最终成功稳定了项目开发环境。


第二步:除了第一步我是自己找到的解决办法,接下来的都是看别人的经验帖。

首先我们要找到File的Project Structure,然后改如图所示的两个Version。说实话我也不知道怎么改的。我本来是gradle version=7.4.2, 然后告诉我我的版本最低得是7.5,那我改成7.5吧,又告诉我我没有7.5,需要升级,那我就升级吧,于是我在terminal里面运行了这条命令。并把android gradle plugin version和gradle version都改成了7.5。

./gradlew wrapper --gradle-version 7.5

运行好了,Bulid成功了,但是还得继续 Sync Project with gradle files,然后又报错,告诉我android gradle plugin version=7.5不行,那我改回7.4.2,欸,成功了,我完全成功了。

虽然我不明白为什么他们不能统一,但大概是我升级了某个版本,这个版本又能兼容plugin插件,而我没有升级plugin插件,最后成功了我也懒得继续了。


第三步,其他:这里基本上不重要,是我对自己的一个记录。

1.如果sdk出现问题了,我可以去Tools的SDK Manager里面确认我的路径没有问题

2.如果我怀疑我的证书有问题,我可以去github首页顶部,点击“安全锁”图案查看证书,并下载或者导出证书到我的电脑里。并使用以下命令,导入到我的$JAVA_HOME/lib/security/cacerts  

keytool -import -alias github -keystore /path/to/java/lib/security/cacerts -file /path/to/downloaded/github.crt

还可以使用下面这条命令确认我的证书里确实包含github.com

openssl x509 -in github.crt -text -noout

 同时也可以通过下载openssl来查看验证书的内容

openssl x509 -in github.crt -text -noout

3.如果我怀疑我的DNS有问题,我可以使用

tracert google.com //追踪网络路径
ipconfig /flushdns //清楚DNS缓存
curl google.com //但如果ping和tracert都存在问题,这条命令却不存在问题。说明问题仅存在与ICMP问题里,浏览器或者应用程序是没有问题的

 总结:两个问题交替出现,我搞一天了。我还重装了jdk,就差重装android studio了。可是重装as我又不服,如果重装就代表我认输了,以后导入别人的不同版本的文件,我可能都要手动操作或者安装多个as。这不好,一点也不好。希望我真真正正的学会了如何导入别人的包。祈祷祈祷祈祷。

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

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

    抵扣说明:

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

    余额充值