Probleme mit dem Update von Android Studio unter macOS

Bei einem Updateversuch von Android Studio erhielt ich unter macOS den Fehler:

Studio does not have write access to /private/… Please run it by a privileged user to update.

Den gleichen Fehler zeigte auch IntelliJ IDEA, was nicht weiter verwunderlich ist, immerhin basiert Android Studio auf IntelliJ IDEA.

Die Fehlermeldung beim Updateversuch

Die Ursache für das Problem liegt an einem macOS High Sierra eingeführten Feature namens App Translocation. In diesem Fall führte das dazu das die betreffende App in einem zufälligen Pfad gestartet wurde. Bei mir wurde das Problem dadurch verursacht, das ich nach einer Neuinstallation die Applikationen vom Backup händisch (ohne Finder) in den Ordner /Application schob. Nachdem ich die Anwendung mit dem Finder erneut in den Applications bzw. Programme-Ordner kopiert hatte, funktionierte die Update-Funktionalität wieder ohne Probleme.

Aktivierung von Kernel Extensions unter macOS High Sierra schlägt fehl

Seit macOS 10.13, besser bekannt unter dem Namen High Sierra, müssen Kernel Extensions explizit erlaubt werden. Das Problem ist dass dies im aktuellen Build (17A405) nicht funktioniert. Soll eine bis dahin unbekannte Kernel Extension geladen werden, so erscheint eine Warnmeldung. Anschließen müssen die Einstellungen innerhalb der nächsten dreißig Minuten geöffnet werden und dort der Punkt Sicherheit ausgewählt werden.

Die Sicherheitseinstellungen unter macOS

Dort findet sich nun der Punkt um die Kernel Extension zu aktivieren bzw. zu erlauben. Im aktuellen Build ist diese Option allerdings nutzlos. Klickt man auf den Button passiert nichts. Dank diesem Fehler ist es nicht möglich Kernel Extensions ohne weiteres zu aktivieren; ein ärgerlicher und unnötiger Fehler.

Gatekeeper unter macOS temporär deaktivieren

Seit einigen Versionen gibt es unter macOS den sogenannten Gatekeeper. Diese Funktionalität sorgt innerhalb des Betriebssystems dafür, das nicht signierte Software nicht ausgeführt werden kann. In den neueren macOS-Versionen lässt sich Gatekeeper über die grafischen Einstellungen nicht mehr komplett deaktivieren.

Die vollständige Deaktivierung von Gatekeeper wird nicht mehr angeboten

Öffnet man eine nicht signierte Anwendung, erhält man dort die Meldung:

„paket.pkg“ ist beschädigt und kann nicht geöffnet werden. Es empfiehlt sich, das Objekt in den Papierkorb zu bewegen.

Möchte man diese Anwendung trotzdem nutzen, so muss die Gatekeeper-Funktionalität über das Terminal deaktiviert werden. Dazu dient der Befehl:

sudo spctl --master-disable

Anschließend kann die nicht signierte Anwendung installiert und gestartet werden und Gatekeeper mittels des Befehls:

sudo spctl --master-enable

wieder aktiviert werden. Die installierte Anwendung kann nun trotz aktivierter Gatekeeper-Funktionalität weiterhin genutzt werden.