2017-07-04 88 views
1

enter image description here我正在使用Android Studio 2.3在gradle 2.3.3內。我面臨一個奇怪的問題,被困一週。當我輸入一些代碼行時,它常常掛起,在它顯示auto complete框之前。 或者,如果我沒有輸入任何內容,而是使用Command-click查找變量或方法的實現,則會顯示對話框Resolving Reference並掛起。 有時,如果我切換到另一個應用程序一段時間並切換回查看Android Studio,它也會掛起。Android studio 2.3總是掛出

我已經嘗試過許多不同的方法,但並沒有幫助,包括:

  • 刪除Android的工作室完全遵循this answer然後下載並重新安裝。
  • 轉至菜單File > Invalidate Cache/Restart...
  • 刪除JDK並重新安裝。我使用JDK jdk-8u131-macosx-x64here
  • 下載刪除所有建立的文件夾和Rebuild Project
  • 回滾到我在過去成功地建立我的項目的穩定源代碼。
  • 嘗試使用Android 3.0工作室預覽
  • 降級或升級Gradle Plugin
  • 下載並使用Android工作室更換JDK束follow this thread

所有上述方法沒有幫助讓我的Android Studio中的穩定性。

我使用的MacBook的內存,酷睿i7,MacOS Sierra 10.12.5 16GB和我不認爲掛起是關於我的筆記本電腦規格,

所以我在這裏彙報我的情況,並希望有人能幫助給我新的建議。任何想法或建議表示讚賞。

更新:我在~/Library/Logs/Android Studio2.3/下查看Android Studio的日誌,看到一些異常日誌文件。下面是最新的一個:

2017-07-04 19:14:35,633 [1233357] INFO - roid.sdk.MessageBuildingSdkLog - Exception from KotlinOutputParser 
2017-07-04 19:14:35,633 [1233357] INFO - roid.sdk.MessageBuildingSdkLog - com.android.ide.common.blame.Message.<init>(com.android.ide.common.blame.Message$Kind, java.lang.String, java.lang.String, com.google.common.collect.ImmutableList) 
java.lang.NoSuchMethodException: com.android.ide.common.blame.Message.<init>(com.android.ide.common.blame.Message$Kind, java.lang.String, java.lang.String, com.google.common.collect.ImmutableList) 
    at java.lang.Class.getConstructor0(Class.java:3082) 
    at java.lang.Class.getConstructor(Class.java:1825) 
    at org.jetbrains.kotlin.android.KotlinOutputParserHelper$simpleMessageConstructor$2.invoke(KotlinOutputParserHelper.kt:171) 
    at org.jetbrains.kotlin.android.KotlinOutputParserHelper$simpleMessageConstructor$2.invoke(KotlinOutputParserHelper.kt:143) 
    at kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:130) 
    at org.jetbrains.kotlin.android.KotlinOutputParserHelper.getSimpleMessageConstructor(KotlinOutputParserHelper.kt) 
    at org.jetbrains.kotlin.android.KotlinOutputParserHelper.createNewMessage(KotlinOutputParserHelper.kt:272) 
    at org.jetbrains.kotlin.android.KotlinOutputParserHelper.createMessage(KotlinOutputParserHelper.kt:250) 
    at org.jetbrains.kotlin.android.KotlinOutputParserHelper.createMessage$default(KotlinOutputParserHelper.kt:244) 
    at org.jetbrains.kotlin.android.KotlinOutputParserHelperKt.parse(KotlinOutputParserHelper.kt:41) 
    at org.jetbrains.kotlin.android.KotlinOutputParser.parse(KotlinOutputParser.java:28) 
    at com.android.ide.common.blame.parser.ToolOutputParser.parseToolOutput(ToolOutputParser.java:86) 
    at com.android.tools.idea.gradle.output.parser.BuildOutputParser.parseGradleOutput(BuildOutputParser.java:43) 
    at com.android.tools.idea.gradle.project.build.invoker.GradleTasksExecutor$GradleTasksExecutorImpl.lambda$collectMessages$5(GradleTasksExecutor.java:516) 
    at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:307) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 

更新2有時Android Studio中顯示錯誤報告對話框,這個消息裏面:

Cannot add jps/kotlin-jps-plugin.jar from plugin 'Kotlin' to external compiler classpath: home directory of plugin not found 
+0

我不知道它是否可以在Mac上,但在Linux上,我可以通過啓動scirpt'bin/studio.sh'從控制檯運行Android Studio,並在控制檯上查看錯誤消息。也許嘗試在Mac上做同樣的事情,我認爲應該可以從終端的命令行運行程序。你也應該看看日誌(在Linux上,它們位於'〜/ .AndroidStudio2.3/system/log') – user1209216

+0

我不能像你說的那樣啓動AS,但是我找到了想法日誌,看到我的更新日誌,有一些異常日誌,我認爲他們是問題AS –

+0

這應該不會顯示那種類型的彈出消息,我認爲,它只會導致Kotlin項目編譯錯誤,但我可能是錯誤的 – user1209216

回答

0

最後,我可以建立和繼續而不崩潰編碼(在至少1小時後我不會崩潰)。 對於Android Studio 2.3,我選擇File > Power Save Mode,這樣它就不會再出現了。更糟糕的是我不能在後臺使用智能自動完成或自動構建。

然後,我再次安裝Android studio 3.0 Preview Canary 5,使用Gradle tool 3.0.0 alpha5。修復所有的編譯警告(比如用新的替換掉的gradle函數),將所有的庫更新到最新版本......它的工作原理!

現在我有兩個版本的Android Studio併發運行。舊節能模式運行,新模式以正常模式運行。

+0

您是否解決了NoSuchMethodException錯誤?我有同樣的問題。 –

+0

是的,請嘗試我在答案中提到的步驟 –

相關問題