Nachdem wir in Teil 1 unserer Kurzserie erste Schritte mit der neuen Version gegangen sind und mit der KI Gemini experimentiert haben, wollen wir uns diesmal weiteren Features widmen. Darunter die Gemini-API-Startvorlage und das Android Device Streaming.
Eingangs einige Worte zum benutzten System: Die Autorin arbeitet unter Ubuntu 22.04 LTS. Es empfiehlt sich, eine Workstation mit hoher Einkernrechenleistung zur Hand zu haben. Vertrautheit mit Android Studio im Allgemeinen setzt die Autorin voraus, der Download von Android Studio Jellyfish ist unter [1] möglich.
Ein von Google bei der Einführung von Android Studio Gemini besonders stark betontes Feature steht derzeit nur in der Preview-Version Koala zur Verfügung. Es handelt sich dabei um eine Vorlage, die in die Google-KI-Services integrierte Applikationen erzeugt.
Besonders hervorzuheben ist, dass dieses Feature das unter [2] bereitstehende Gradle-Secrets-Plug-in demonstriert. Dieses Werkzeug soll Secrets aus dem Build-Prozess heraushalten; das versehentliche Hochladen von API-Schlüsseln und ähnlichen kryptografischen Primitiva im Versionskontrollsystem ist und bleibt nämlich eine der häufigsten Ursachen für Leaks. Zurzeit handelt es sich dabei um die Datei android-studio-2024.1.1.6-linux.tar.gz, die sich unter [3] herunterladen lässt.
Wie immer empfiehlt sich das Umbenennen des Containerfolders in android-studio-preview, die eigentliche Ausführung erfolgt dann wie gewohnt:
~/Desktop/android-studio-preview/bin$ ./studio.sh
Die Neuigkeit präsentiert sich dann in Form der Vorlage, die eine Gemini-basierte Applikation ins Leben ruft (Abb. 1). Wichtig ist, dass es sich dabei nicht um einen Weg handelt, der Gemini zur Erzeugung eines kompletten Projektskeletts einer beliebigen Applikation (Schema: „Baue mir einen Widerstandsrechner“) führt, stattdessen erzeugt das Template Code, der mit der KI Gemini interagiert.
Abb. 1: Diese neue Vorlage ermöglicht die Generierung von Gemini-basierten Projekten
Als Projektname vergibt die Autorin in den folgenden Schritten „SUSAIDemo1“, die restlichen Einstellungen bleiben unberührt. Wohl in Vorbereitung der Einführung einer Abrechnungsfunktion erscheint daraufhin die in Abbildung 2 gezeigte Warnung, die unter anderem auf das Risiko des Diebstahls von in der Applikation gespeicherten Schlüsseln hinweist.
Abb. 2: Diese Warnung sollte durchaus ernst genommen werden
Das Anklicken des Links öffnet normalerweise den URL https://aistudio.google.com/app/apikey – in vielen Fällen finden Sie sich dann mit einer Länderliste konfrontiert, die eine (oft) irreführende Fehlermeldung über die mangelnde Unterstützung des Aufenthaltsorts darstellt. Nun klicken Sie auf den rechts oben eingeblendeten Sign-in-Button und nicken den restlichen Log-in-Prozess ab.
Führt ein manuelles Aufrufen von https://makersuite.google.com danach immer noch nicht zum Erfolg, ist ein VPN erforderlich. Wer sich ausschließlich auf Experimente mit einem Emulator beschränken kann, setzt an dieser Stelle wie die Autorin auf Proton VPN. Soll auch reale Hardware zum Einsatz kommen, empfiehlt sich die Errichtung eines VPN-WLAN-Routers, beispielsweise unter Nutzung von RaspAP und einem übrig gebliebenen Raspberry Pi.
In den folgenden Schritten wird Proton VPN verwendet – nutzen Sie den für Ubuntu nativ verfügbaren Client, um sich einen amerikanischen Server zu angeln. Das Anklicken des Links in Android Studio führt dann zum Öffnen des URL https://makersuite.google.com/app/apikey, unter der Sie im ersten Schritt abermals eine EULA abzunicken haben. Danach folgt auch schon der in Abbildung 3 gezeigte Dialog, in dem wir uns für die Option Get Key entscheiden.
Abb. 3: Dieser Dialog bestätigt die erfolgreiche VPN-Einrichtung
Nun wird die im Google-Backend befindliche Liste der Keys eingeblendet, die in einem neuen Account naturgemäß noch leer ist. Im Rahmen des durch Create API Key aktivierbaren Assistenten fragt die Website dann, in welchem Google-KI-Projekt die Ressourcen unterkommen sollen. Hier ist die Entscheidung, ein komplett neues Projekt anzulegen, empfehlenswert. Dann erscheint ein Pop-up-Fenster mit einem nach dem Schema AIzaSyjadkfsjasdsafghagfkweuyE1U aufgebauten Schlüssel. Bevor er in der Liste auftaucht, ist eine Aktualisierung der Website erforderlich. Zu beachten ist außerdem, dass Google die gute Zeit im Bereich der KI-Entwicklung in Kürze beenden wird. Dann kosten Anfragen Geld; die genauen Preise finden sich unter [4].
Nach der erfolgreichen Abarbeitung des Onlineassistenten können Sie in den Projektgenerator zurückkehren, wo Sie den erhaltenen Schlüssel einpflegen. Interessant ist, dass Android Studio im daraufhin entstehenden Projektskelett die Datei local.properties, genauer die Variable apiKey als Ablageort für den eingegebenen Schlüssel heranzieht. Dabei handelt es sich um einen kreativen Missbrauch der Gradle-Projektstruktur: Das File hält normalerweise nur lokale Einstellungen vor und wird von den meisten Versionskontrollsystemen sowieso ignoriert bzw. nicht hochgeladen.
Im nächsten Schritt empfiehlt sich dann ein Blick in die Datei BakingViewModel.kt, in der die Ressourcen zur Initialisierung von Elementen herangezogen werden. Die eigentliche Bereitstellung der Informationen als Build-Time-Variable...