AS已经提示更新好久了,一直忙于项目,不敢更新,怕有大坑。这两天项目差不多完成了,才敢更新,虽然更新时也遇到了一些问题,但都还算好解决。但今天编译完的App某个页面总是崩溃,而且出错信息有点摸不着头脑。出错信息如下:
java.lang.NullPointerException: Attempt to invoke interface method 'void android.view.inputmethod.InputConnection.closeConnection()' on a null object reference
at android.view.inputmethod.InputConnectionWrapper.closeConnection(InputConnectionWrapper.java:270)
at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:545)
at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:91)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:163)
at android.app.ActivityThread.main(ActivityThread.java:6342)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:880)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:770)
虽然是个空指针异常,但似乎是系统输入法抛出的。在stackoverflow上找到了这个
https://stackoverflow.com/questions/49512975/android-studio-3-1-edittext-stackoverflowerror
解决方法:Edit configuration settings -> Profiling -> Enable advanced profiling去掉这个勾选。
按这个方法编译后就没有问题了。
这个问题似乎是AS在针对Debug的程序进行监控时的一个bug。
环境:
Android Studio 3.1.2
Build #AI-173.4720617, built on April 14, 2018
JRE: 1.8.0_152-release-1024-b01 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.13.4
com.android.tools.build:gradle:3.1.2
gradle-4.4-all.zip
希望对遇到相同问题的同学有所帮助。