16

更新:以下问题一直存在,直到Android Studio 3.4.2


我使用Android Studio 3.3并创建了一个scratch文件 ( File > new > Scratch File > Java)。scratch.java在以下位置创建的IDE ~/.AndroidStudio3.3/config/scratches

class Scratch {
    public static void main(String[] args) {

    }
}

但是当我运行该临时文件时(通过按类名或main方法附近的绿色按钮),我收到此错误:

Error: Could not find or load main class Scratch

我认为 IDE 不会制作Scratch.class,因此Java无法找到它。有没有办法解决这个问题并从 IDE 运行暂存文件(不使用Terminal)?

4

1 回答 1

2

更新

我刚刚注意到这个问题在 Android Studio 3.5 中得到了修复!


我让它工作的唯一方法(在 Android Studio 3.4.1 中)是这种非常肮脏的方法:

  1. 前往Run> Edit Configurations>Scratch
  2. Before launch底部添加 (+)Run External tool
  3. 在“外部工具”弹出窗口+中按并填写以下内容Tool Settings

    姓名Compile Scratch

    程序javac

    论据$FileName$

    工作目录:你的临时文件目录

  4. 按确定
  5. 再次在外部工具弹出窗口+中按并填写以下内容Tool Settings

    姓名Run Scratch

    程序java

    论据$FileClass$

    工作目录:你的临时文件目录

  6. 按 OK 并在运行/调试配置中应用

奇怪的是,这只有在你使用类/主声明旁边的绿色箭头时才有效。如果您使用菜单中的“运行”按钮,这也会失败。

您仍然会在Scratch运行窗口的选项卡中看到未找到的错误。但是会弹出两个附加选项卡(每个外部工具一个)。在Run Scratch选项卡中,您将获得输出。

我个人不喜欢这个,但这是我想出的最好的解决方法。

于 2019-07-01T19:41:20.117 回答