2026-05-20 psychologist-app: обновить деплой F-Droid через fdroidserver
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user