学习之鸿蒙&Android

解决升级到Android Studio4.2问题汇总

2021-05-27  本文已影响0人  Android_Cloud

为什么升级个IDE要写篇文章记录下呢?

每次升级Android Studio就会碰到一堆bug,网上一查遍地是踩坑篇,有已经被人踩过解决的,也有找不到解决方法,自己硬着头皮尝试的,就这就已经劝退不少想升级的伙伴。这次我也记录一下从 4.0 版本升级上来踩过的坑。

1. Android Studio 4.0.2 升级到 4.1.2 (噩梦版本)

几个月前的某一天,日常浏览Android Developers时,看到Studio4.1.2的新特性,一时兴起就更新了,然后就踩坑了。

Studio 插件全部丢失

Studio4.1版本开始更换了插件目录,会导致插件丢失或者损坏。所以升级时候不用勾选升级插件,仅仅升级IDE,完了后重新安装插件吧。注意备份配置!注意备份配置!注意备份配置!(惨痛的经历就是当时我根本没想到会出现这种状况,只习惯性的导出了setting文件,然后就只能凭记忆重新找插件了)

很多插件不支持在4.1版本上使用了

之前几个好用的生成java模版代码的插件,都没办法使用了,也没找到替代插件,悲剧的以后只能自己手写[哭晕] ,太影响效率了

Gradle编译问题
  1. Sync Project with Gradle Files时,下载第三方依赖总会莫名其妙的失败,也没有找到谁有类似的经历,最后偶然发现把http改成https,就能正常下载了,有点神奇。

  2. 用了一段时间项目切到AndroidX上,同时也维护Android Support版本,git分支频繁切换后,有些类开始报红了,怎么治都不好,但是又不影响项目运行,慢慢的只当没看见了[捂脸],逼死强迫症。

  3. Build Project过程中下载第三方依赖报错

Could not HEAD ‘xxx.pom'. Received status code 502 from server: Bad Gateway

原因:Studio 的设置了代理,首先在setting -> Appearance & Behavior -> System Settings -> HTTP Proxy中看下有没有设置代理,如果没有继续找一下项目的gradle.properties文件或者/Users/用户名/.gradle/gradle.properties中,去掉如下内容:

systemProp.https.proxyHost=mirrors.neusoft.edu.cn
systemProp.https.proxyPort=80
systemProp.http.proxyHost=mirrors.neusoft.edu.cn
systemProp.http.proxyPort=80
当然相对于这些缺点,studio 新特性还是挺好用的,最起码抽风的概率降低了。

2. Android Studio 4.1.2 升级到 4.2.1

2.1 Gradle面板中gradle所有命令不见了

解决方法:

设置 => 最下面Experimental => do not build gradle task xxx => 取消勾选 => 然后Rebuild

2.2 IDE默认使用内置open jdk环境,但是 4.2 的使用的默认版本是jdk 11,当场开发项目rebuild就直接报错了
FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:kaptOnlineDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
   > java.lang.reflect.InvocationTargetException (no error message)
java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException,

原因是:studio升级后默认配置发生变化,会默认使用更高版本的jdk进行编译,故找不到该类,发生报错,所以我们只要把本地的jdk的编译版本改回1.8即可解决,修改路径如下:
file -> project structure -> sdk location -> jdk location

图片1

图中修改默认的JDK Location的路径即可

更多bug正在赶来的路上....

可能有些bug还没发现,目前可以正常使用。比起4.1.x噩梦版本强多了。注意:如果要升级最好先备份所有的配置,必要时候可以采用双应用共存方式。
上一篇下一篇

猜你喜欢

热点阅读