Android Studio无法找到或加载“ Scratch”文件的主类

has*_*ian 14 java android-studio scratch-file android-studio-3.3

更新:直到出现以下问题Android Studio 3.4.2


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

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

    }
}
Run Code Online (Sandbox Code Playgroud)

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

Error: Could not find or load main class Scratch
Run Code Online (Sandbox Code Playgroud)

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

jim*_*jim 2

更新

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


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

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

    姓名Compile Scratch

    程序javac

    论据$FileName$

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

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

    姓名Run Scratch

    程序java

    论据$FileClass$

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

  6. 按“确定”并在“运行/调试配置”中应用

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

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

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