Articles of ProGuard

Пользовательские аннотации Proguard в Kotlin

Мой проект Kotlin использует архитектуру MVP. Пользовательские аннотации используются в представлении бункеров для представления, например: @PresenterBinding(MyPresenter::class) class MyActivity{ Когда этот проект строится с помощью Proguard's minifyEnabled true Связь ведущего с представлением теряется, и я получаю kotlin.KotlinNullPointerException доступ к функциям презентатора Следующие биты находятся в моей конфигурации Proguard (среди других правил сохранения) # Kotlin rules # […]

Kotlin, proguard, компоненты архитектуры Android

У меня есть модель представления с живой переменной данных. Моя активность наблюдает за этим, чтобы обновить пользовательский интерфейс. В отладке все работает хорошо. Когда я включаю proguard, он больше не наблюдает изменения жилой. Я проверил, что данные в реальном времени правильно обновлены. Однако обратный вызов наблюдателя никогда не вызывается. Любые подсказки о том, как настроить […]

Android Crashing после попытки создания версии версии

Приложение отлично работает, когда я экспортирую его как отладочную версию без каких-либо ошибок, но при сбоях, когда я экспортирую ее в качестве версии выпуска, она падает. Я прикрепил ошибку от Android Monitor 10-24 03:02:02.286 17303-17303/? E/CustomizationReader: appName = Prism 10-24 03:02:02.287 17303-17303/? E/CustomizationReader: key = sku_id 10-24 03:02:02.287 17303-17303/? E/CustomizationReader: Result = 33 10-24 03:02:02.531 […]

Подключение moshi к Android Studio (Kotlin)

Я использую Kotlin в Android Studio. Я не могу скомпилировать проект с подключенной библиотекой moshi. https://github.com/square/moshi Скажи мне, что я делаю неправильно? Я вижу в консоли: :app:packageInstantRunResourcesDebug UP-TO-DATE :app:checkManifestChangesDebug :app:transformClassesWithAndroidGradleClassShrinkerForDebug com/squareup/moshi/JsonReader references unknown class: javax/annotation/Nullable com/squareup/moshi/CollectionJsonAdapter$1 references unknown class: javax/annotation/Nullable com/squareup/moshi/JsonAdapter$5 references unknown class: javax/annotation/Nullable com/squareup/moshi/package-info references unknown class: javax/annotation/ParametersAreNonnullByDefault com/squareup/moshi/ArrayJsonAdapter$1 references unknown class: javax/annotation/Nullable […]

Android Build Crashes после подписанной сборки

У меня есть приложение для Android, которое прекрасно работает как отлаживаемое приложение, но как только я устанавливаю debuggable в false, он начинает сбой с этим в консоли gradle. Proguard отключен, и я также попытался очистить папку сборки. 01-10 11:53:28.014 3806-3806/? E/dalvikvm: Could not find class 'kotlin.jvm.internal.PropertyReference1Impl', referenced from method com.earnso.mangaworld.util.RarContentProvider.<clinit> 01-10 11:53:28.028 3806-3806/? E/AndroidRuntime: FATAL […]

JsonProperty не работает при включенном разрешении

У меня есть следующий класс class CodeRequest(@JsonProperty("phone") val phoneNumber: String) Когда я отправляю запрос (используя модификацию) с объектом этого класса как тело (пока минирование не включено) все работает, и запрос будет отправлен в этой форме {"phone": "123"} Но включение minification с помощью следующего proguard-rules.pro приведет к {"phoneNumber": "123"} тела запроса {"phoneNumber": "123"} . # Jackson […]

Предоставляет ли Kotlin дополнительную безопасность?

Когда мы разрабатываем Android-приложение на Java, у нас есть возможность обфускать код и построить APK. Есть ли какая-нибудь особенность в Котлине, чтобы сделать то же самое?

Словарь обфускации Proguard для kotlin

Я использовал эти ключевые слова для обфускации с помощью proguard в моем проекте android-java : do if for int new try byte case char else goto long this void break catch class const final float short super throw while double import native public return static switch throws boolean default extends finally package private abstract continue […]

Котлин: Нужно ли защищать класс данных Котлина?

У меня есть класс данных, определенный ниже package com.mypackage.model object Model { data class News(val photo: String, val title: String, val description: String) } Когда я скомпилирую его с помощью Proguard (т. Е. Сборки релиза), данные, которые я получил и сохраняю в модели, становятся нулевыми. Они все еще существуют, то есть список ArrayListOfNews имеет ожидаемый […]

Как предотвратить заражение объекта kotlin.Unit от Proguard

Полосы kotlin.Unit автономный объект (в библиотеке времени исполнения Kotlin), и это вызывает ошибку компиляции, если вы используете этот тип. Следующее правило не помогает сохранить этот элемент (возможно, потому, что Unit не является классом , это объект ): -keep class kotlin.Unit.** { *; } Мы используем тип Unit следующим образом: fun assert(func : Assert.() -> Unit) […]

Intereting Posts
Возможно ли лениво инициализировать свойство и утверждать его? Android Build Crashes после подписанной сборки Kotlin: Как я могу получить фактический общий тип T в OneClass <T> во время выполнения setSmallIcon (значок: значок) и NotificationCompat Идиоматический способ возврата, если не null в Котлин Почему IntelliJ Idea не находит зависимости Maven от другого модуля Kotlin? Гарантирован порядок вызовов внутри конструктора Повторная установка 2, Rx 2 и асинхронные вызовы Не удается отладить обработчик аннотации при использовании kapt и gradle Метод Kotlin inline не видим, если не расширять класс ClassMapper: нет setter / field для aBooleanType KotlinNullPointerException: внутри onCreateOptionsMenu не удается найти searchView; андроид Итерировать значения перечисления, используя значения () и valueOf в kotlin Как вызвать методы расширения вне класса, в котором они определены? Можно ли получить подкласс класса Kotlin из суперкласса?