代码更改后Android Studio回收旧代码?

jne*_*der 6 testing android android-studio

当我在更改一些代码后运行我的测试时,在重新运行测试时仍然使用代码的先前状态.

Running tests
Test running started
java.lang.NoSuchMethodError: com.example.app.support.ConfiguredWebViewClient.<init>
at com.example.app.support.ConfiguredWebViewClientTest.testOverrideUrlLoading(ConfiguredWebViewClientTest.java:7)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:190)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:175)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661)

Finish
Run Code Online (Sandbox Code Playgroud)

上面的NoSuchMethodError的问题是没有testOverrideUrLoading名称的方法.它被不同的方法所取代.这意味着Android Studio会以某种方式挂在旧类文件上.

没有效果的事情:
  • 使缓存无效并重新启动
  • 清理构建(在Android Studio中)
  • 重建(在Android Studio中)

当我执行运行时./gradlew connectedInstrumentTest,测试成功运行,问题在Android Studio中解决.

我想知道在IDE中工作时如何强制这种行为.