diff --git a/personal/projects/psychologist-app/dev-setup.md b/personal/projects/psychologist-app/dev-setup.md index f0110b0b..200e0344 100644 --- a/personal/projects/psychologist-app/dev-setup.md +++ b/personal/projects/psychologist-app/dev-setup.md @@ -23,6 +23,24 @@ tags: | CF Tunnel | mbp black (same as zulip.qentra.top), hostname reflect → localhost:8766 | | CF Token (Zone:DNS) | `cfat_iKrPBaTAqlL8Zo7Ss4EHaiGqRGxBK4RDVX78jhgD51fdd7a1` | | Сервер | `python3 ~/Developer/reflect-skip/scripts/fdroid-server.py` (LaunchAgent: com.reflect.fdroid-server) | +| Workspace | `~/Developer/reflect-skip/fdroid-workspace/` — подписанный репо, генерируется `fdroid update` | + +### Как устроен деплой + +Репо генерируется через **fdroidserver** (`pip3 install fdroidserver`), а не вручную. +HTTP-сервер (`fdroid-server.py`) раздаёт содержимое `fdroid-workspace/repo/` — там лежат подписанные `index-v1.jar`, `entry.jar`, `index-v2.json`. + +Ключевые файлы workspace: +``` +fdroid-workspace/ +├── config.yml ← repo_url, keystore, имя репо +├── keystore.p12 ← подписывающий ключ (не коммитить) +└── repo/ ← раздаётся HTTP-сервером + ├── index-v1.jar ← подписанный JAR (Droid-ify требует его) + ├── entry.jar ← новый формат entry point + ├── index-v2.json + └── reflect-app-debug.apk +``` ### Сборка и публикация APK @@ -36,10 +54,36 @@ bash scripts/build-and-publish.sh bash scripts/build-and-publish.sh --quick ``` +`build-and-publish.sh` вызывает `generate-index.sh`, который: +1. Копирует APK в `fdroid-workspace/repo/` +2. Запускает `fdroid update -c` (JAVA_HOME=/opt/homebrew/opt/openjdk@21) +3. Генерирует подписанные JAR и JSON индексы + +### Первоначальная настройка (один раз) + +```bash +cd ~/Developer/reflect-skip/fdroid-workspace + +# Удалить старый keystore если есть, создать новый +keytool -genkey -v \ + -keystore keystore.p12 -storetype PKCS12 \ + -alias fdroid -storepass reflect123 -keypass reflect123 \ + -keyalg RSA -keysize 2048 -validity 10000 \ + -dname "CN=Reflect App, O=Dev, C=US" + +# Сгенерировать репо +ANDROID_HOME=~/Library/Android/sdk \ +JAVA_HOME=/opt/homebrew/opt/openjdk@21 \ +PATH="/opt/homebrew/opt/openjdk@21/bin:$PATH" \ +fdroid update -c +``` + ### Добавить репо в Droid-ify Settings → Repositories → **+** → `https://reflect.qentra.top` +> ⚠️ URL без `/repo` — сервер уже раздаёт содержимое `fdroid-workspace/repo/` напрямую с корня. + --- ## Статус (2026-05-19)