赞
踩
今天在用Android Studio调式代码的时候发生了一个很奇怪的crash问题,异常log如下:
java.lang.ClassCastException: java.lang.ref.SoftReference cannot be cast to android.view.inputmethod.InputConnection
at com.android.tools.profiler.support.profilers.EventProfiler$InputConnectionHandler.run(EventProfiler.java:330)
at java.lang.Thread.run(Thread.java:833)
首先介绍一下问题出现时的相关情况:调式手机用数据线连上电脑,编译器版本为Android Studio 3.0,点击编译器的Run ‘app’按钮运行程序后出现的crash。
一开始我以为是我自己的代码有问题导致的,后来再仔细看了下log,发现这几个关键字:android.tools.profiler,这让我意识到这可能是编译器导致问题的,因为Android Studio 3.0有个profiler的工具,应该是这个导致了以上的问题。于是我尝试拔掉数据线后再运行App,神奇的情况出现了,这个crash问题不再发生了!由此基本可以确定是编译器问题导致的。
既然大概的问题原因确认了,那么接下来就是怎么解决了。
首先,我clearn了工程,然后连上数据线再跑程序,还是出现相同的crash。
接着,对Android Studio进行Invalidate Caches / Restart操作重启了编译器,还是出现相同的crash。
最后,抱着试一试的态度删除了在用户目录下的Android Studio的配置文件夹,即.android及.AnroidStudio3.0这2个文件夹,然后重启编译器运行程序,神奇的情况又出现了,那就是OK了,没有再出现以上的crash问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。