Probleme mit dem Run Configuration Dialog in Android Studio 2021.2.1 (halbwegs gelöst)

Nach dem Update auf Android Studio Chipmunk 2021.2.1 Patch 1 verhält sich der Run Configuration Dialog seltsam, denn er speichert nicht die Parameter korrekt ab. Es gibt jedoch Abhilfe.

Ich arbeite nun wieder (hin und wieder) an Argh! Earthlings! für Android und Desktop. Die Wiederaufnahme der Arbeit nach einer längeren Pause führte zwangsläufig zu einem Update verschiedener Tools, die ich für die Entwicklung nutze. Darunter OpenJDK, Android Studio, Gradle und libGDX.

Die Updates waren unproblematisch. Die Programmierer haben hier einen echt guten Job gemacht, sodass es keine größeren Überraschungen gab. Doch an einer Stelle gibt es Probleme, und zwar beim Build Dialog.

Während alte Build Konfigurationen wie gewünscht funktioniert haben, waren alle neuen oder geänderten Konfigurationen ohne Ergebnis ausführbar.

Ein Blick in die workspace.xml im Ordner .idea/ erklärt das Problem. Funktionierende Konfigurationen führen unter der Option taskNames eine Liste mit Werten, wie run. Die Option scriptParameters hat hingegen lediglich die echten "Parameter", wie --stacktrace oder --debug.

<configuration name="Desktop Build and Run Detailed"
    type="GradleRunConfiguration" factoryName="Gradle">
    <ExternalSystemSettings>
        <option name="executionName" />
        <option name="externalProjectPath" value="$PROJECT_DIR$/desktop" />
        <option name="externalSystemIdString" value="GRADLE" />
        <option name="scriptParameters" value="--stacktrace --debug --scan" />
        <option name="taskDescriptions">
            <list />
        </option>
        <option name="taskNames">
            <list>
                <option value="run" />
            </list>
        </option>
        <option name="vmOptions" value="" />
    </ExternalSystemSettings>
    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
    <DebugAllEnabled>false</DebugAllEnabled>
    <method v="2">
        <option name="Gradle.BeforeRunTask" enabled="true" tasks="build"
            externalProjectPath="$PROJECT_DIR$/desktop" vmOptions="" scriptParameters="" />
    </method>
</configuration>

Ändert man jedoch die Konfiguration oder legt eine neue an, werden die Werte falsch gespeichert. Nun wird run als Parameter interpretiert und unter scriptParameters hinterlegt. Die taskNames sind hingegen leer.

<configuration name="Desktop Build and Run"
    type="GradleRunConfiguration" factoryName="Gradle">
    <ExternalSystemSettings>
        <option name="executionName" />
        <option name="externalProjectPath" value="$PROJECT_DIR$/desktop" />
        <option name="externalSystemIdString" value="GRADLE" />
        <option name="scriptParameters" value="run" />
        <option name="taskDescriptions">
            <list />
        </option>
        <option name="taskNames">
            <list />
        </option>
        <option name="vmOptions" />
    </ExternalSystemSettings>
    <ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
    <ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
    <DebugAllEnabled>false</DebugAllEnabled>
    <method v="2" />
</configuration>

Das führt nun dazu, dass es keinen Task gibt, der ausgeführt werden kann. Der Build beginnt und endet sofort wieder, ohne Ergebnis.

Der Grund für dieses Missverhalten liegt offenbar in der Interpretation der Inputleiste im neuen Build Dialog von IntelliJ IDEA oder eben Android Studio 2021.2.1. Die Angaben unter Tasks and Arguments werden nicht korrekt geschnitten und verteilt.

Alter Android Studio Run Config Dialog

Abhilfe schafft hier der Downgrade auf den alten Dialog. Hierzu muss man unter Help > Find Action > 'Registry' nach dem Schlüssel ide.new.run.config suchen und den Wert abschalten.

Alter Android Studio Run Config Dialog

Als Resultat erhält man unmittelbar den alten Dialog, in dem man mehr Kontrolle über Tasks und Arguments hat.

Alter Android Studio Run Config Dialog

Weitere Hinweise auf das Problem findet man im Bugreport IDEA-284013.