首页 > 解决方案 > 如何为 kotlin qodana 设置 android sdk 路径?

问题描述

我正在为我的示例 android 应用程序尝试 kotlin qdana,但我总是遇到错误。我正在运行这个命令。 https://www.jetbrains.com/help/qodana/qodana-jvm-android.html

docker run --rm -it -v /Users/vivart/Documents/develop/android/todo/:/data/project/ \ -p 8081:8080 jetbrains/qodana-jvm-android --show-report

我收到了这个错误

Caused by: java.lang.RuntimeException: The SDK path
'/Users/vivart/Library/Android/sdk'
does not belong to a directory.

IntelliJ IDEA will use this Android SDK instead:
'/opt/android-sdk'
and will modify the project's local.properties file.
    at com.intellij.openapi.ui.TestDialog.lambda$static$0(TestDialog.java:8)
    at com.intellij.ui.messages.MessagesServiceImpl.showMessageDialog(MessagesServiceImpl.java:54)
    at com.intellij.openapi.ui.Messages.showErrorDialog(Messages.java:661)
    at com.intellij.openapi.ui.Messages.showErrorDialog(Messages.java:688)
    at com.android.tools.idea.gradle.project.sync.SdkSync.lambda$syncIdeAndProjectAndroidSdk$0(SdkSync.java:108)
    at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:214)
    at com.intellij.openapi.application.TransactionGuardImpl.access$200(TransactionGuardImpl.java:21)
    at com.intellij.openapi.application.TransactionGuardImpl$2.run(TransactionGuardImpl.java:196)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:794)
    at com.intellij.openapi.application.impl.ApplicationImpl.lambda$invokeAndWait$7(ApplicationImpl.java:451)
    at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:134)
    at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:84)
    at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:133)
    at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:46)
    at com.intellij.openapi.application.impl.FlushQueue$FlushNow.run(FlushQueue.java:189)
    at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:776)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:746)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:885)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:754)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:441)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:825)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:440)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:794)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:486)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

2021/11/06 15:24:51 IDEA process exit code: 1
2021/11/06 15:24:51 Sync IDEA cache from: /data/project/.idea to: /data/cache/.idea

标签: androidkotlinqodana

解决方案


尝试在 Docker 设置中增加内存(首选项 | 资源 | 高级)。如果这没有帮助,请在从项目中删除local.properties并运行 Qodana 后再次共享日志。


推荐阅读