diff --git a/CHANGELOG.md b/CHANGELOG.md index 63d2be0..16ee245 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ Формат: `ГГГГ-ММ-ДД | версия | изменение | контракты | риск` +- 2026-07-07 | v0.5.114 (122) | Этап 0 п.2 (размер APK): универсальный APK — abiFilters 'arm64-v8a','armeabi-v7a' (без эмуляторных x86/x86_64) + resourceConfigurations ['ru','en'] (у vendor было ~48 локалей). Проверено сборкой: assembleRelease → 53 МБ (было 99 с 4 ABI; ~130 debug), ABI внутри только ARM, подпись v2+v3 OK. RenderScript в vendor НЕ трогал (риск blur-эффектов, отдельный пункт) | контракты не менялись | низкий: только упаковка; функционал не тронут - 2026-07-07 | v0.5.114 (122) | Аудит + Этап 0 п.1 (release собираем и подписан): добавлен signingConfig (ключ из env F7_KEYSTORE_*/-P, фолбэк на debug); написаны R8-правила — app/proguard-rules.pro (kotlinx.serialization/Firebase/JS-мосты) + vendor consumer-rules.pro через consumerProguardFiles (WebRTC/LoganSquare/Dagger/RxJava/Parceler/EventBus + dontwarn geogson/joda); подпись v2+v3. Проверено локально (JDK 21 + Android SDK 36 поставлены на инфру B): assembleRelease → BUILD SUCCESSFUL, подписанный APK 99 МБ (было ~130 debug). Полный аудит — docs/AUDIT-2026-07-07.md; подпись — docs/RELEASE-SIGNING.md | контракты не менялись; сборочный контур зафиксирован | низкий: код приложения не тронут, изменения только в сборке; APK всё ещё 4 ABI (ABI-split — п.2) - 2026-07-07 | v0.5.114 (122) | Санитария по mail/035: дефолт-URL входа → BuildConfig.DEFAULT_SERVER_URL (свойство f7DefaultServerUrl, по умолчанию пусто); убран preconnect к боевому hpb-prod.f7cloud.ru (TalkHelper); нейтральный пример URL в тексте ошибки | INTEGRATION.md: зашитых касаний хостов A больше нет | низкий: preconnect — только оптимизация; сборка на билд-сервере ещё не прогонялась - 2026-07-07 | v0.5.113 (121) | Онбординг в федерацию F7: заведены INTEGRATION.md и CHANGELOG.md, роль `b-dev-mobile` (ячейка B). Код без изменений | INTEGRATION.md создан: задекларированы потребляемые контракты тенанта (OCS/WebDAV/CalDAV/CardDAV/Mail/spreed v4/Dashboard/Richdocuments/f7push) | нет diff --git a/app/build.gradle b/app/build.gradle index 0e447d5..04c08e2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -43,6 +43,16 @@ android { versionName '0.5.114' missingDimensionStrategy 'default', 'f7' multiDexEnabled true + + // Универсальный APK для реальных устройств: только ARM (arm64 + armeabi-v7a), + // без эмуляторных x86/x86_64 — режет ~половину native-веса (WebRTC .so). + ndk { + abiFilters 'arm64-v8a', 'armeabi-v7a' + } + // Оставляем только нужные локали (у vendor-форка ~48 языков) — минус несколько МБ. + // resourceConfigurations — не-deprecated бэкинг resConfigs. + resourceConfigurations += ['ru', 'en'] + // Дефолтный адрес сервера на экране входа. Прод-URL в сборку не вшивать // (решение integrator-b, f7_platform mail/035): для дев-сборки под свой // стенд задать -Pf7DefaultServerUrl=https://... или f7DefaultServerUrl в diff --git a/docs/RELEASE-SIGNING.md b/docs/RELEASE-SIGNING.md index bc22454..af964c8 100644 --- a/docs/RELEASE-SIGNING.md +++ b/docs/RELEASE-SIGNING.md @@ -59,5 +59,14 @@ Release: `minifyEnabled true` + `shrinkResources true`. Keep-правила: ## Размер APK -R8 + shrinkResources: **~130 МБ (debug) → 99 МБ (release, все 4 ABI)**. Дальнейшее сокращение -до ~30–45 МБ — ABI-split/`resConfigs` (пункт 2 этапа 0 плана аудита), пока не сделано. +Прогресс сокращения (универсальный APK): +- **~130 МБ** — debug (все 4 ABI, без R8). +- **99 МБ** — release: R8 + shrinkResources (все 4 ABI). +- **53 МБ** — + `abiFilters 'arm64-v8a','armeabi-v7a'` (без эмуляторных x86/x86_64) + + `resourceConfigurations += ['ru','en']`. Это ТЕКУЩИЙ универсальный APK (пункт 2 этапа 0). + +Состав .so в 53-МБ APK: arm64-v8a ~19 МБ + armeabi-v7a ~11 МБ (в основном WebRTC). Настройки — в +`app/build.gradle` (`defaultConfig.ndk.abiFilters`, `resourceConfigurations`). + +Ещё возможно (НЕ сделано, требует проверки на устройстве): только arm64 (−~11 МБ, теряет 32-битные +устройства); отключить `renderscriptSupportModeEnabled` в vendor (риск для blur-эффектов).