Oto kompletna, uporządkowana od A do Z instrukcja po polsku. Zebraliśmy w jednym miejscu wszystkie kroki, które do tej pory wykonaliśmy. Dzięki temu masz pełen przewodnik, z którego możesz skorzystać teraz lub przy kolejnych konfiguracjach.
CZĘŚĆ 1: Przygotowanie Twojego klucza (Base64 i Android Studio)
Zanim wejdziesz do przeglądarki, musisz wyciągnąć dane ze swojego komputera:
- Znajdź plik klucza: Upewnij się, że wiesz, gdzie na komputerze leży Twój plik
.jkslub.keystore, którym podpisywałeś aplikację w Android Studio Panda. - Podgląd Aliasu: Otwórz Android Studio -> menu Build -> Generate Signed Bundle / APK… -> Wybierz APK -> Wskaż swój plik klucza, wpisz hasło i kliknij w pole Key alias (ikonę trzech kropek
...), aby odczytać dokładną nazwę aliasu. Zapamiętaj ją lub zapisz. Zmknij okno przyciskiem Cancel. - Konwersja do tekstu: Wejdź na stronę base64.guru/converter/encode/file, wgraj swój plik klucza, kliknij Encode File to Base64 i skopiuj wygenerowany gigantyczny ciąg tekstowy.
CZĘŚĆ 2: Dysk Google i Google Cloud Console
Teraz przygotowujemy miejsce na plik APK i uprawnienia dla GitHuba.
Krok 1: Dysk Google (Folder)
- Zaloguj się na swój Dysk Google.
- Stwórz nowy folder (np.
AAPS-Kompilacje) i wejdź do niego. - Z paska adresu w przeglądarce skopiuj końcowy ciąg znaków po ostatnim ukośniku
/(np.1A2B3C...). To jest Twój GDRIVE_FOLDER_ID.
Krok 2: Google Cloud Console (Uprawnienia)
- Wejdź na console.cloud.google.com i zaloguj się Gmailem.
- Na samej górze kliknij rozwijane menu projektów -> Nowy projekt (New Project). Nazwij go
AndroidAPS-Dyski kliknij Utwórz. - Kliknij menu (trzy kreski w lewym górnym rogu) -> Interfejsy API i usługi -> Biblioteka. Wyszukaj Google Drive API i kliknij Włącz.
- Ponownie menu (trzy kreski) -> Interfejsy API i usługi -> Dane logowania (Credentials).
- Kliknij na górze + Utwórz dane logowania -> Konto usługi (Service Account). Nazwij je dowolnie, kliknij Utwórz i kontynuuj. W sekcji wyboru roli wybierz Edytujący (Editor) lub Właściciel (Owner) i kliknij Gotowe.
- W tabeli na dole pojawi się adres e-mail nowego konta usługi. Skopiuj ten e-mail.
- Kliknij w ten e-mail -> przejdź do zakładki Klucze (Keys) -> Dodaj klucz -> Utwórz nowy klucz -> Wybierz JSON -> Kliknij Utwórz. Pobierze się plik
.json. - Otwórz ten plik
.jsonw systemowym Notatniku i skopiuj całą jego zawartość (tekst w klamrach{ }).
Krok 3: Połączenie folderu z Kontem Usługi
- Wróć na swój Dysk Google.
- Kliknij prawym przyciskiem myszy na folder
AAPS-Kompilacje-> Udostępnij. - Wklej skopiowany przed chwilą adres e-mail konta usługi (
@...gserviceaccount.com), ustaw mu rolę Edytor i kliknij Udostępnij.
CZĘŚĆ 3: GitHub – Spięcie wszystkiego w całość
Przenosimy się na platformę GitHub, aby przygotować automatyzację.
Krok 1: Tworzenie własnej kopii (Fork) i włączenie Actions
- Wejdź na oficjalną stronę: github.com/nightscout/AndroidAPS (upewnij się, że jesteś zalogowany).
- W prawym górnym rogu kliknij przycisk Fork, a na dole nowej strony kliknij Create fork.
- Gdy otworzy się Twoje własne repozytorium, kliknij górną zakładkę Actions (Akcje) i kliknij zielony przycisk „I understand my workflows, go ahead and enable them”.
Krok 2: Wprowadzenie Sekretów (Hasła i Klucze)
- W Twoim repozytorium przejdź do zakładki Settings (Ustawienia) na górnym pasku.
- W menu po lewej stronie wejdź w Secrets and variables -> Actions.
- Klikaj zielony przycisk New repository secret i dodaj kolejno 6 sekretów:
| Nazwa sekretu (Name) | Co wkleić w pole Wartość (Secret) |
SIGNING_KEY | Cały długi tekst Base64 z Twojego pliku klucza (z Części 1) |
KEY_STORE_PASSWORD | Główne hasło do pliku klucza z Android Studio |
ALIAS | Dokładna nazwa aliasu (odczytana w Android Studio, np. key0) |
KEY_PASSWORD | Hasło do aliasu (najczęściej takie samo jak do magazynu) |
GDRIVE_CREDENTIALS | Cała tekstowa zawartość pliku .json z Notatnika (z Części 2) |
GDRIVE_FOLDER_ID | Krótki identyfikator folderu z paska adresu Dysku Google |
Krok 3: Stworzenie pliku instrukcji (skryptu budowania)
- Przejdź do pierwszej zakładki od lewej: Code (Kod).
- Kliknij przycisk Add file -> Create new file.
- W polu nazwy wpisz dokładnie:
.github/workflows/build.yml - W dużym polu tekstowym poniżej wklej poniższy, najnowszy kod (ze zmiennymi dostosowanymi do wymogów GitHuba):
YAML
name: Budowanie AndroidAPS na Dysk Google
on:
workflow_dispatch:
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: 'true'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Pobranie kodu z repozytorium
uses: actions/checkout@v4
- name: Konfiguracja Javy
uses: actions/setup-java@v4
with:
distribution: 'zulu'
java-version: '21'
# Zapisujemy klucz w jednoznacznej, pełnej ścieżce na dysku serwera
- name: Budowanie i podpisywanie aplikacji
run: |
echo "${{ secrets.SIGNING_KEY }}" | base64 -d > ${{ github.workspace }}/app/my-release-key.jks
./gradlew :app:assembleFullRelease \
-x test \
-Pandroid.lint.abortOnError=false \
-Pandroid.lint.checkReleaseBuilds=false \
-Pandroid.injected.signing.store.file=${{ github.workspace }}/app/my-release-key.jks \
-Pandroid.injected.signing.store.password="${{ secrets.KEY_STORE_PASSWORD }}" \
-Pandroid.injected.signing.key.alias="${{ secrets.ALIAS }}" \
-Pandroid.injected.signing.key.password="${{ secrets.KEY_PASSWORD }}"
- name: Logowanie do Google Cloud
uses: google-github-actions/auth@v2
with:
credentials_json: ${{ secrets.GDRIVE_CREDENTIALS }}
- name: Wysyłanie gotowego APK na Dysk Google
uses: google-github-actions/upload-cloud-storage@v2
with:
path: app/build/outputs/apk/full/release/app-full-release.apk
destination: 'drive://${{ secrets.GDRIVE_FOLDER_ID }}'
parent: false
- Kliknij zielony przycisk Commit changes… w prawym górnym rogu i zatwierdź zapisanie.
CZĘŚĆ 4: Uruchomienie i każda kolejna aktualizacja
Gdy powyższa konfiguracja jest skończona, proces uruchamiasz zawsze w ten sam sposób:
- Wejdź na GitHub do swojego projektu -> zakładka Actions.
- Kliknij po lewej stronie „Budowanie AndroidAPS na Dysk Google”.
- Kliknij po prawej stronie przycisk Run workflow -> potwierdź zielonym przyciskiem.
- Po około 15 minutach proces zakończy się zielonym ptaszkiem, a gotowy plik
.apkznajdziesz na swoim Dysku Google w folderzeAAPS-Kompilacje. Pobierasz go bezpośrednio na telefon i instalujesz jako aktualizację.
Gdy w przyszłości wyjdzie nowa wersja AndroidAPS: Wchodzisz na główną stronę swojego kodu na GitHubie, klikasz przycisk Sync fork -> Update branch, a następnie od razu przechodzisz do zakładki Actions, aby kliknąć Run workflow. Cała aktualizacja zajmie Ci wtedy 30 sekund w przeglądarce!
UZUPEŁNIENIE
Oto uzupełnienie do powyższego poradnika. Jeśli ktoś nigdy nie budował aplikacji lokalnie i nie posiada własnego pliku klucza (.jks), nie musi instalować Android Studio, aby go wygenerować. Można to zrobić bezpośrednio na komputerze za pomocą jednego polecenia.
Dopisz ten krok na samym początku CZĘŚCI 1 jako alternatywę:
Alternatywa dla Kroku 1: Generowanie nowego klucza od zera (Bez Android Studio)
Każdy komputer z systemem Windows, Mac lub Linux posiada wbudowane narzędzie keytool (jest ono częścią środowiska Java, które zazwyczaj jest już w systemie).
- Otwórz Terminal (Mac/Linux) lub Wiersz polecenia / PowerShell (Windows).
- Skopiuj, wklej i zatwierdź enterem poniższe polecenie:
Bash
keytool -genkey -v -keystore androidaps.jks -keyalg RSA -keysize 2048 -validity 10000 -alias my-key-alias
- System zada Ci kilka pytań:
- Wprowadź hasło do magazynu kluczy: Wpisz swoje bezpieczne hasło (podczas wpisywania znaki nie będą się pojawiać – to normalne ze względów bezpieczeństwa). Naciśnij Enter.
- Powtórz nowe hasło: Wpisz je ponownie.
- Imię i nazwisko, sekcja, organizacja itp.: Możesz wpisać cokolwiek (np. swoje inicjały) lub po prostu naciskać Enter, aby pominąć te pytania.
- Na koniec system zapyta, czy dane są poprawne (
[nie]/[tak]). Wpisz tak (lub yes) i naciśnij Enter.
- Wynik: W folderze, w którym aktualnie znajdował się Twój terminal (najczęściej jest to folder użytkownika, np.
C:\Users\TwojaNazwa\), pojawi się nowiutki plik o nazwieandroidaps.jks.
Jak uzupełnić dane na GitHubie dla nowego klucza?
Gdy przejdziesz do uzupełniania tabeli z sekretami w CZĘŚCI 3 (Krok 2), Twoje dane z nowego klucza będą wyglądać następująco:
SIGNING_KEY-> Cały tekst Base64 wygenerowany z plikuandroidaps.jks(za pomocą strony base64.guru).KEY_STORE_PASSWORD-> Hasło, które sam przed chwilą wymyśliłeś w terminalu.ALIAS-> Dokładnie:my-key-alias(ponieważ tak nazwaliśmy go w powyższym poleceniu).KEY_PASSWORD-> Dokładnie takie samo hasło, jak do magazynu kluczy.
Ważne: Zapisz ten wygenerowany plik
androidaps.jksw bezpiecznym miejscu (np. na pendrive lub bezpiecznym dysku). Jeśli kiedyś zmienisz telefon, będziesz potrzebować dokładnie tego samego pliku, aby zaktualizować aplikację bez utraty bazy danych cukrzycowych.

