45 lines
1.5 KiB
Markdown
45 lines
1.5 KiB
Markdown
# THECR3W-DEV — ANDROID UPDATE SDK
|
|
## Wersja: 1.0.0 | Data: 2026-10-31
|
|
|
|
---
|
|
|
|
## 1. Przegląd Biblioteki
|
|
|
|
`thecr3w-update-sdk` to biblioteka w Kotlinie dla aplikacji Android (API 26+) realizująca bezpieczny proces aktualizacji w pełnej zgodności z architekturą bezpieczeństwa Androida:
|
|
- Sprawdzanie wydań w tle z wykorzystaniem Jetpack WorkManager.
|
|
- Bezpośrednie pobieranie APK z Cloudflare R2 przez Pre-signed URLs.
|
|
- Rygorystyczna weryfikacja sumy kontrolnej SHA256 pliku APK przed przekazaniem do instalatora.
|
|
- Weryfikacja cyfrowa metadanych Ed25519.
|
|
- Wywołanie systemowego instalatora pakietów przez `FileProvider` z jawną zgodą użytkownika (brak prób omijania zabezpieczeń systemu operacyjnego).
|
|
|
|
---
|
|
|
|
## 2. Przykład Użycia w Kotlinie
|
|
|
|
```kotlin
|
|
val updater = TheCr3wUpdater(
|
|
context = applicationContext,
|
|
apiBaseUrl = "https://app.thecr3wnet.com",
|
|
appId = "com.thecr3w.app",
|
|
currentVersion = BuildConfig.VERSION_NAME,
|
|
currentVersionCode = BuildConfig.VERSION_CODE,
|
|
channel = "stable",
|
|
architecture = "arm64-v8a",
|
|
trustedPublicKeyHex = "..."
|
|
)
|
|
|
|
CoroutineScope(Dispatchers.IO).launch {
|
|
val update = updater.checkForUpdate()
|
|
if (update.updateAvailable) {
|
|
// Pobranie i weryfikacja SHA256
|
|
val apkFile = updater.downloadAndVerify(update) { progress ->
|
|
Log.d("TheCr3w", "Pobieranie APK: ${(progress * 100).toInt()}%")
|
|
}
|
|
|
|
// Wyświetlenie systemowego instalatora pakietu
|
|
withContext(Dispatchers.Main) {
|
|
updater.promptInstall(apkFile)
|
|
}
|
|
}
|
|
}
|
|
```
|