Android: чинит R8/ProGuard, обработку VPN permission и debug-инспектор

- consumerProguardFiles + усиленные keep-правила для Jackson — без них R8 в
  релизной сборке ломал десериализацию TunnelConfig, и кнопка подключения
  переставала что-либо делать без единой ошибки в логах.
- Проверка на null у builder.establish() и корректный resolve/reject запроса
  VPN-разрешения.
- WebView.setWebContentsDebuggingEnabled включается только под BuildConfig.DEBUG,
  а не безусловно в релизе.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-08 22:51:36 +07:00
parent 79c9cb48aa
commit 00765b12cd
3 changed files with 50 additions and 4 deletions
@@ -10,6 +10,13 @@ android {
defaultConfig {
minSdk = 21
// Без этого proguard-rules.pro лежит мёртвым грузом — app-модуль (где
// реально включена минификация в release) собирает *.pro только из
// своей собственной директории, а этот модуль в другой. Без keep-правил
// R8 переименовывает TunnelConfig, Jackson теряет reflection-доступ к
// конструктору и падает "Cannot construct instance of `j0.a`..." —
// именно так и было при первом релизном (не dev) билде.
consumerProguardFiles("proguard-rules.pro")
}
compileOptions {