热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

解决升级到AndroidStudio4.2问题汇总

为什么升级个IDE要写篇文章记录下呢?每次升级AndroidStudio就会碰到一堆bug,网上一查遍地是踩坑篇,有已经被人踩过解决的,也有找

为什么升级个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

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

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

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

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

推荐阅读
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了C#中生成随机数的三种方法,并分析了其中存在的问题。首先介绍了使用Random类生成随机数的默认方法,但在高并发情况下可能会出现重复的情况。接着通过循环生成了一系列随机数,进一步突显了这个问题。文章指出,随机数生成在任何编程语言中都是必备的功能,但Random类生成的随机数并不可靠。最后,提出了需要寻找其他可靠的随机数生成方法的建议。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 怎么在PHP项目中实现一个HTTP断点续传功能发布时间:2021-01-1916:26:06来源:亿速云阅读:96作者:Le ... [详细]
author-avatar
陈家碧玉3
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有