Im Browser erstellen (Browser Build)

AAPS mit GitHub-Aktionen erstellen.

Ab AAPS-Version 3.3.2.1. möglich.

Kein Download möglich - APK muss selbst erstellt werden

Die AAPS-App (eine apk-Datei) ist aufgrund der Vorschriften rund um medizinische Geräte nicht zum Download verfügbar. Es ist zulässig, die App für den eigenen Gebrauch zu erstellen, aber du darfst keine Kopie an andere weitergeben!

Zu den Details schaue bitte auf die FAQ-Seite.

Computer- und Software-Anforderungen für die AAPS-Erstellung

Wir empfehlen die Verwendung eines Android-Geräts. Du kannst allerdings auch einen Computer oder ein iOS-Gerät nutzen.

Du wirst in Deinem Browser mehrere Tabs verwenden und dabei zwischen diesen Tabs hin und her wechseln. Beispiel Chrome:

fork_aaps

Zusätzlich benötigst Du ein Google-Konto, damit die App in Deinem Google-Drive gespeichert werden kann.

Bemerkung

Dieses Wiki geht davon aus, dass Du alle Operationen mit Deinem Smartphone und dem Chrome-Browser durchführst.
Du wirst zwischen den Tabs springen: Starte mit geschlossenen Tabs. Das verhindert, dass Du Dich beim Umschalten von einem zum anderen „vertust“.

1. AAPS eigener „Fork“

Du musst Deinen persönlichen Android Java Key und Dein Google Drive-Informationen geheim in GitHub speichern (später im Prozess erklären wir, wie das geht).

Da das im öffentlichen AAPS-Repository nicht möglich ist, musst Du Deine persönliche Kopie des Quellcodes erstellen (sog. „Fork“).

GitHub-Konto

Wenn Du noch kein GitHub-Konto hast, musst Du zuerst ein GitHub-Konto erstellen.
Du kannst Dich mit einer eMail-Adresse oder mit Google registrieren. Durchlaufe den Registrierungs- und Verifikationsprozess.

Hast Du bereits ein Konto, logge Dich in GitHub ein.

Fork AndroidAPS (neuen AAPS-Entwicklungsast bilden)

Öffne das offizielle AndroidAPS-Repository hinter diesem Link.

Tippe auf das Fork-Symbol. Das erstellt in Deinem eigenen Konto eine Kopie.

fork_aaps

Scrolle auf dem nächsten Bildschirm nach unten und tippe auf Create Fork.

fork_aaps_confirm

Notiz: Du kannst die Option „Copy the main branch only“ deaktivieren, wenn Du eine Entwicklerversion oder Anpassungen erstellen möchtest.

fork_aaps_main

Bemerkung

Forking a repository allows you to freely experiment with changes without affecting the original project. You cannot fork and you see this?

Create a new fork
A fork is a copy of a repository. View existing forks.
Required fields are marked with an asterisk (*).
No available destinations to fork this repository.

Dies bedeutet, dass Du bereits einen existierenden Fork von AndroidAPS hast.
Stelle Sie sicher, dass der Fork aktuell ist und mache mit den Vorbereitungsschritten weiter.

Warnung

Lösche niemals Deinen Fork, ohne ein Backup Deiner „Secrets“ (Passwörter) gemacht zu haben!

GitHub zeigt jetzt Deine persönliche Kopie von AndroidAPS an. Lasse diesen Tab des Web-Browsers geöffnet.

forked_aaps

2. Vorbereitende Schritte

  • Solltest Du die Erstellung auf einem Android-Gerät durchführen, installiere den File Manager Plus aus dem Google Play Store.

Note

  1. Solltest Du diese Seite aus einer App heraus aufgerufen haben (über einen Webview), kann es sein, dass die HTML-Datei nicht heruntergeladen wird. Bitte kopiere die URL und öffne diese in einem Browser:

https://github.com/nightscout/aaps-ci-preparation/releases/download/release-v1.1.2/aaps-ci-preparation.html

oder gehe zur Seite mit den neuesten Releases:

https://github.com/nightscout/aaps-ci-preparation/releases/latest

2.Backup-Kopie auf dieser Seite verfügbar:

  • Sollte auch der externe Link nicht verfügbar sein, kannst Du alternativ auch eine Backup-Datei herunterladen.

       aaps-ci-preparation.html

AndroidAPS build requires private keys, that are stored in a Java KeyStore (JKS): -

Warnung

Wenn Du AAPS mit der Option 1 baust, kannst Du Deine bestehenden AAPS-Version nicht aktualisieren. Du musst:

  1. Einstellungen auf Deinem Smartphone exportieren.

  2. Kopiere die Datei mit den Einstellungen von Deinem Smartphone auf ein externes Gerät (d. h. Deinen Computer, externe Festplatte) oder lade sie in Deinen Cloudspeicher hoch.

  3. Erstelle, so wie es in der Anleitung zu Option 1 beschrieben ist, eine neue Version der signierten APK und transferiere diese auf Dein Smartphone.

  4. Deinstallieren die Vorgängerversion von AAPS auf Deinem Smartphone.

  5. Installiere die neue AAPS-Version auf Deinem Smartphone.

  6. Einstellungen importieren, um Deine Ziele (Objectives) und Einstellungen wiederherzustellen.

  7. Stelle die Daten aus Nightscout wieder her.

  • If you want to use your own JKS (the one you used on a previous build of AAPS from a computer in Android Studio), you know its password and alias (key0), please choose AAPS-CI Option 2 – Upload Existing JKS.


Sobald die AAPS-App erstellt wurde, wird sie in Deinem Google Cloud-Laufwerk gespeichert.

AAPS-CI Option 1 – JKS erzeugen

  • Diese Option ist für Nutzende ohne JKS, oder die das Passwort oder den Alias vergessen haben.

  • Unten sind einige Beispiele von verschiedenen Plattformen verlinkt.

  • Wähle in der Liste unten die Plattform aus, die Du nutzt. Du kannst zwischen Android (bevorzugte Wahl), iOS oder PC/Computer wählen.

Android-kompatibel (am einfachsten; wird als erste Wahl empfohlen)

Öffne die CI preparation Hilfedatei

Öffne mit dem Dateimanager+ die Datei aaps-ci-preparation-html, die Du bereits heruntergeladen hast.

Wähle den Downloads-Ordner aus.

Und suche nach der Datei, tippe auf den Namen, um sie zu öffnen, öffne sie mit Chrome, tippe nur einmal darauf.

Es wird sich ungefähr so öffnen.

Wähle „Generate JKS“. Das Feld unten wird mit Zeichen gefüllt.

Lass diesen Tab geöffnet.

Erstelle ein neues Geheimnis (New Secret) in GitHub

Gehe zurück auf den GitHub-Browser-Tab: Deiner eigenen AndroidAPS-Kopie.

  1. Oben rechts, tippe auf die ...-Schaltfläche

  2. Wähle aus der Liste die Einstellungen aus

Scrolle zum Abschnitt „Security“ nach unten und wähle „Secrets and Variables“ aus.

Wähle jetzt „Actions“ aus

Scrolle zu den „Repository Secrets“ herunter und tippe auf „New Repository Secret“

Du wirst den folgenden Dialog sehen. (Sollte er nicht zu sehen sein, scrolle nach unten).

Lass den Tab, so wie hier gezeigt, geöffnet.

Wechsle auf den Dateimanager+ Tab.

Tippen auf die oberste Kopieren-Schaltfläche.

Wechsle zurück auf den GitHub-Tab.

Füge in das Namensfeld den gerade kopierten Text ein. Drücke lange auf die Textbox, um das „Einfügen-Menü“ anzuzeigen.

Wechsle auf den Dateimanager+ Tab.

Tippe auf den zweiten Kopieren-Knopf.

Wechsle zurück auf den GitHub-Tab.

  1. Füge in das Secret-Feld den gerade kopierten Text ein. Drücke lange auf die Textbox, um das „Einfügen-Menü“ anzuzeigen.

  2. Tippe auf „Add Secret“.

Prüfe, ob das „Secret“ hinzugefügt wurde, und scrolle dazu nach unten.

iOS-kompatibel (hier am Beispiel des iPads)

Nutze einen PC/Computer (Windows/Mac/Linux)

Öffne die Webseite https://simplewebserver.org/download.html

Installiere Simple HTTP Server
Solltest Du einen Windows-PC oder Mac haben, kannst Du es aus dem Store installieren.
Nachdem Du auf den Link geklickt hast, wirst Du gefragt, ob das Öffnen erlauben möchtest. Bitte wähle „Store öffnen“ aus.

simple_http_server

Beispiel anhand eines Mac:

  • get → install → öffnen

    simple_http_server

  • Klicke auf „Starten“

    simple_http_server

  • Klicke auf „Neuer Server“

    simple_http_server

  • Trage in Ordnerpfad den Ordner ein, indem sich „aaps-ci-preparation.html“ befindet, und klicke dann auf „Server erstellen“.

    simple_http_server

  • Wenn dieser Bildschirm zu sehen ist, heißt das, dass der Server gestartet wurde.

    simple_http_server

  • Den Simple HTTP/Web Server nicht schließen. Bitte wechsel zu Deinem Browser und öffne
    http://127.0.0.1:8080/aaps-ci-preparation.html

  • Für die folgenden Schritte, schau Dir das Video unten ab 1 Minute 37 Sekunden an.

Überspringe den nächsten Abschnitt und fahre hier fort.


AAPS-CI Option 2 – Hochladen eines bestehenden JKS

  • Diese Option ist für Nutzende, die bereits einen JKS haben und dass zugehörige Passwort und den Alias kennen. Als KEYSTORE_PASSWORD, KEY_ALIAS, und KEY_PASSWORD, gib Dein aktuelles Password und Alias aus GitHub ein. Diejenigenen, die Android Studio nutzen, schauen unten nach, wo diese genutzt wurden.

  • Unten sind einige Beispiele von verschiedenen Plattformen verlinkt.

  • Wähle in der Liste unten die Plattform aus, die Du nutzt. Du kannst zwischen Android (bevorzugte Wahl) oder PC/Computer wählen.

Android-kompatibel (am einfachsten; wird als erste Wahl empfohlen)

Kopiere Deinen Android Studio Schlüssel in Dein Google Cloud Laufwerk.

Suche auf Deinem Computer nach der Keystore-Datei, die Du zum Erstellen von AAPS verwendet hast. Du kannst sie an der Dateiendung .jks erkennen.

Zieh es in Dein Google Drive, entweder im Browser oder in Deinem verknüpften Google Drive.

Öffne den Dateimanager+ und wähle die Cloud aus.

Füge einen Cloud-Pfad hinzu.

Wähle Google Drive aus.

Wähle die E-Mail Deines Google Drive-Kontos. Tippe auf OK.

Du solltest die Inhalte Deines Google Cloud-Laufwerk sehen. Gehe jetzt zur App-Startseite zurück.

Öffne die CI preparation Hilfedatei

Öffne die von Dir heruntergeladene Datei aaps-ci-preparation-html.

Wähle den Downloads-Ordner aus.

Und suche nach der Datei, tippe auf den Namen, um sie zu öffnen, öffne sie mit Chrome, tippe nur einmal darauf.

Es wird sich ungefähr so öffnen.

Scroll nach unten zur Option 2: Upload existing JKS. Klappe die Oberfläche auf.

Wähle „Choose File“.

Wähle Deine Keystore-Datei aus Deinen Google Drive-Dateien aus.

Das Feld unten wird ausgefüllt.

Lass diesen Tab geöffnet.

Erstelle ein neues Geheimnis (New Secret) in GitHub

Gehe zurück auf den GitHub-Browser-Tab: Deiner eigenen AndroidAPS-Kopie.

  1. Oben rechts, tippe auf die ...-Schaltfläche

  2. Wähle aus der Liste die Einstellungen aus

Scrolle zum Abschnitt „Security“ nach unten und wähle „Secrets and Variables“ aus.

Wähle jetzt „Actions“ aus

Scrolle zu den „Repository Secrets“ herunter und tippe auf „New Repository Secret“

Du wirst den folgenden Dialog sehen. (Sollte er nicht zu sehen sein, scrolle nach unten).

Lass den Tab, so wie hier gezeigt, geöffnet.

Wechsle auf den Dateimanager+ Tab.

Tippen auf die oberste Kopieren-Schaltfläche.

Wechsle zurück auf den GitHub-Tab.

Füge in das Namensfeld den gerade kopierten Text ein. Drücke lange auf die Textbox, um das „Einfügen-Menü“ anzuzeigen.

Wechsle auf den Dateimanager+ Tab.

Tippe auf den zweiten Kopieren-Knopf.

Wechsle zurück auf den GitHub-Tab.

  1. Füge in das Secret-Feld den gerade kopierten Text ein. Drücke lange auf die Textbox, um das „Einfügen-Menü“ anzuzeigen.

  2. Tippe auf „Add Secret“.

Prüfe, ob das „Secret“ hinzugefügt wurde, und scrolle dazu nach unten.

Neues Secret hinzufügen: Tippe auf „New Repository Secret“.

Wechsle auf den Dateimanager+ Tab.

Tippe auf die oberste Kopieren-Schaltfläche, um das KEYSTORE_PASSWORD zu kopieren.

Hinweis: Wenn Du sicher bist, kannst Du die Schlüsselnamen direkt in GitHub eingeben und musst sie nicht kopieren/einfügen. Falls Du nicht sicher sein solltest, den Schlüsselnamen richtig einzugeben, mache wie folgt weiter. Beachte bitte, dass am Ende des Schlüsselnamens kein : stehen sollte.

Wechsle zurück auf den GitHub-Tab.

  1. Füge den neuen Schlüsselnamen ein.

  2. Gib Dein Keystore-Passwort in das „Secret“-Feld ein und lasse es nicht leer.

  3. Tippe auf „Add Secret“.

Prüfe, ob das „Secret“ hinzugefügt wurde, und scrolle dazu nach unten.

Tippe auf die „New Repository Secret“-Schaltfläche, die oben gezeigt wird.

Wechsle auf den Dateimanager+ Tab.

Tippe auf die Kopieren-Schaltfläche, um den KEYSTORE_ALIAS zu kopieren.

Wechsle zurück auf den GitHub-Tab.

  1. Füge den neuen Schlüsselnamen ein.

  2. Gib Deinen Keystore-Alias (normalerweise ist er key0, kleingeschrieben und mit einer Null und nicht dem Buchstaben O) in das „Secret“-Feld ein. Achte darauf, dass die Android-Autokorrektur nichts verändert.

  3. Tippe auf „Add Secret“.

Prüfe, ob das „Secret“ hinzugefügt wurde, und scrolle dazu nach unten.

Tippe auf die „New Repository Secret“-Schaltfläche, die oben gezeigt wird.

Wechsle auf den Dateimanager+ Tab.

Tippe auf die Kopieren-Schaltfläche, um das KEY_PASSWORD zu kopieren.

Wechsle zurück auf den GitHub-Tab.

  1. Füge den neuen Schlüsselnamen ein.

  2. Gib Dein Key-Passwort in das „Secret“-Feld ein und lasse es nicht leer. Es ist in der Regel das gleiche wie das Keystore-Passwort.

  3. Tippe auf „Add Secret“.

Prüfe, ob das „Secret“ hinzugefügt wurde, und scrolle dazu nach unten.

Nutze einen PC/Computer (Windows/Mac/Linux)

Installiere Simple HTTP Server bzw. Simple Webserver

Wenn Du einen Windows-Rechner oder Mac nutzt, kannst Du es direkt aus dem Store installieren. Nach dem Klicken auf den Link, wirst Du gefragt, ob die App geöffnet werden darf. Bitte wähle „Store öffnen“ aus.

simple_http_server

Beispiel anhand eines Mac:

  • get → install → öffnen

    simple_http_server

  • Klicke auf „Starten“

    simple_http_server

  • Klicke auf „Neuer Server“

    simple_http_server

  • Trage in Ordnerpfad den Ordner ein, indem sich „aaps-ci-preparation.html“ befindet, und klicke dann auf „Server erstellen“.

    simple_http_server

  • Wenn dieser Bildschirm zu sehen ist, heißt das, dass der Server gestartet wurde.

    simple_http_server

  • Den Simple HTTP/Web Server nicht schließen. Bitte wechsel zu Deinem Browser und öffne

    http://127.0.0.1:8080/aaps-ci-preparation.html

  • Für die folgenden Schritte, schau Dir das Video unten ab Minute 2 und 18 Sekunden an.


AAPS-CI Google Drive Auth

Warnung

No matter which of the prior sets of instructions you followed (option 1 or option 2), you MUST add the Google Drive authorization to successfully use the Browser Build.

Hinweis: Solltest Du die Schritte aus dem Video bereits durchgeführt haben, kannst Du direkt hierhin springen.

Gehe zurück zum „File Explorer Plus“-Tab.

Scrolle bis zum „Google Drive Auth“-Abschnitt herunter und tippe auf „Start Auth“.

Wähle Dein Google-Konto aus.

Scrolle herunter und erlaube den Zugriff. Die Webseite benötigt ihn, um den Google Drive Authentifizierungsschlüssel zu bekommen.

Tippe auf „Continue“.

Das Feld GDRIVE_OAUTH2 wird ausgefüllt. Tippe auf die oberste „Copy“-Schaltfläche.

Wechsle zurück auf den GitHub-Tab.

Scrolle zu den „Repository Secrets“ herunter und tippe auf „New Repository Secret“.

Nutzt Du die Option 1, solltest Du Folgendes sehen:

Nutzt Du die Option 2, sind weitere Schlüssel notwendig:

Füge in das Namensfeld den gerade kopierten Text ein. Drücke lange auf die Textbox, um das „Einfügen-Menü“ anzuzeigen.

Wechsle auf den Dateimanager+ Tab.

Tippe auf den zweiten Kopieren-Knopf.

Wechsle zurück auf den GitHub-Tab.

  1. Füge in das Secret-Feld den gerade kopierten Text ein. Drücke lange auf die Textbox, um das „Einfügen-Menü“ anzuzeigen.

  2. Tippe auf „Add Secret“.

You should have either two (option 1) or five (option 2) secrets entries now.

GitHub wird ab jetzt in der Lage sein, die AAPS-APK-Datei in Deinem Google Drive zu speichern, sobald sie erstellt wurde.

AAPS-CI GitHub Aktionen, um die AAPS APK zu erstellen

  • Passend für allgemeine Benutzer.

Führ die folgenden Schritte durch, um eine signierte APK zu erstellen

  1. Wähle in Deiner AAPS-GitHub-Kopie „Actions“ aus.

  2. Klappe alle „Workflows“ auf.

  3. Wähle AAPS-CI aus

Actions AAPS-CI

  1. Scroll herunter und tippe auf „Run Workflow“.

Run Workflow

  1. Select the branch you want to deploy (master), the variant (fullRelease) and tap Run Workflow.

Run Workflow

  1. Es erscheint die Nachricht „Workflow run was successfully requested“. Mit dem Aktualisieren der Browser-Seite kannst Du den Build-Fortschritt mitverfolgen. Eine grünes Häkchen zeigt an, dass die Aktion „AAPS CI“ abgeschlossen ist. Du hast damit die aktualisierte AAPS-Version erfolgreich erstellt.

Monitor Workflow

Installiere die AAPS APK

  1. Öffne Dein Google Drive

  2. Gehe in den AAPS-Ordner und öffne den Ordner mit der neuen Version. Dort findest Du sowohl die Smartphone-Version, als auch die Android-Wear-Version.

Google Drive Location

Auswahl der zu erstellenden Version („Build Version“)

Das Erstellen der Version in einem Browser („Browser Build“) ist erst ab AAPS-Version 3.3.2.1 (oder höher) möglich.

Auswahl der zu erstellenden Variante („Build Variants“)

Hinweis: Sowohl die Android- als auch Android Wear-App werden automatisch erstellt.

  • Wähle die gewünschte Variante aus:

    • fullRelease: Volle Funktionalität mit normaler Pumpennutzung.

    • aapsclientRelease, aapsclient2Release: Für Pflegende/Eltern (erfordert Nightscout).

    • pumpcontrolRelease: Ersetzt die Pumpenbedienung über App oder das separate Bediengerät („controller“)

Varianten mit der Endung „Debug“ signalisieren, dass die APK im Debug-Modus gebaut wird. Diese Versionen helfen Entwickelnden bei der Fehleranalyse und -behebung.

AAPS-CI Fehlerbehebung

aaps-ci-preparation Webseite

  • Wenn Du die Seite „aaps-ci-preparation.html“ mit einem Dateimanager öffnest, wird ein temporärer lokaler Server auf Deinem Smartphone gestartet, um so die Webseite anzuzeigen und das Google Refresh Token zu erhalten.

  • Solltest Du den unten gezeigten Bildschirm sehen, bedeutet das, dass Du eine ganze Weile inaktiv warst und der Dateimanager den lokalen Server bereits abgeschaltet hat.

  • Bitte öffne „aaps-ci-preparation.html“ erneut mit der Dateimanager-App und schließe die verbleibenden Schritte ab.

aaps_ci_html_not_found

Google Refresh Token Expired

  • Google OAuth2 refresh tokens will expire if not used for 6 months, and may also become invalid under other conditions (e.g., you have changed your Google account password, or manually revoked access). For more details, see the Google OAuth2 documentation.

  • You will see an error indicating that the access token is invalid, as shown below:

aaps_ci_token_expired

  • If your build fails due to an expired or revoked Google refresh token, you will need to redo the Google Drive Auth steps to obtain a new GDRIVE_OAUTH2 token and update the secret in your GitHub repository, then re-run the build workflow.

Software, die bei der OAUTH-Verifizierung stören könnte, deaktivieren

  • Deaktiviere sämtliche VPN- oder Sicherheits-Apps (Firewall, Antimalware, …) auf dem Smartphone, bevor Du versuchst den OAUTH-Key abzurufen.

Prüfe die GitHub-Berechtigungen (Actions Permission Settings)

  • Stelle sicher, dass die GitHub-Actions-Richtlinien auf „Allow all actions and resusable workflows“ gesetzt sind (Settings → Actions → General).

aaps_ci_actions_permission

actions/checkout@v4 und actions/setup-java@v4 dürfen nicht in xxxxx/AndroidAPS genutzt werden. Actions in diesem Workflow müssen aus einem Repository, das xxxxx gehört, stammen


Warnung

Anpassungen sind in der Regel nicht notwendig. Das dient lediglich der Information.

Wenn Du einen bestimmten Commit zu Deinem Branch hinzufügen möchtest, benutze bitte „Cherry-pick“ als Methode

aaps_cherry-pick_ci

  • Use workflow from Branch: Bitte gib den Branch-Namen ein, aus dem Du die Funktionalität auswählen/hinzufügen möchtest.

  • Upstream Repository: Bitte gib den Repository-Namen ein, aus dem Du die Funktionalität auswählen/hinzufügen möchtest.

  • Commit SHA: Bitte gib den Commit SHA (Secure Hash Algorithmus) ein, den Du auswählen möchtest. (wie ein Git-Commit Hash)

  • Select Build Variant: variant

CI KeyStore Export

Wenn Du den Keystore exportieren willst, nutze diese Methode.

Dieses Skript exportiert Deine zuvor konfigurierten Keystore-Informationen (von Option 1 oder Option 2) als passwortgeschützte ZIP-Datei in das Verzeichnis /AAPS/KeyStore in Dein Google Drive.

Warnung

Bevor Du diese Exportmethode nutzt, stelle sicher, dass Du Deine Keystore- und Google Drive-Einstellungen abgeschlossen hast.

Schritte:

  1. ZIP-Passwort-Secret hinzufügen:

    • Gehe in die Einstellungen Deines Repositorys: SettingsSecrets and variablesActions

    • Klick auf New repository secret

    • Ins Feld Name gib bitte ZIP_PASSWORD ein

    • In das Feld Secret, gib Dein selbstgewähltes Passwort zur ZIP-Verschlüsselung ein

    • Verwende ausschließlich englische Buchstaben und Zahlen für das Passwort (keine speziellen Symbole)

    • Klicke auf Add secret

    aaps_ci_zip_password.png

  2. Starte „Export Workflow“:

    • Gehe zum Actions-Tab in Deinem Repository

    • Wähle CI KeyStore Export aus

    • Klicke auf Run workflow

    • Die exportierte Keystore-ZIP-Datei wird in Deinem Google Drive gespeichert

    aaps_ci_keystore_export.png

    aaps_ci_keystore_export_run.png