ProGuard неожиданное поведение - PullRequest
0 голосов
/ 19 мая 2019

У меня есть проект Android, в котором я использую progaurd, чтобы запутать и уклониться от кода.

    ...

android {
    defaultConfig {
...
    }
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
...

    }
    compileOptions {
...
    }
}

dependencies {
...
}
...

У меня есть несколько пользовательских правил в файле progaurd-pro, чтобы игнорировать файлы моделей в том виде, в каком они есть. Он игнорирует все файлы модели в пакете, но не игнорирует один конкретный файл.

-keepclasseswithmembernames class my.domain.models.** { *; }

Что я пробовал

Я переместил все модели в другой модуль до сих пор без разницы этот файл не игнорируется

1 Ответ

0 голосов
/ 19 мая 2019

Я понял это сам, получив подсказку из комментария @TheAnkush

на самом деле я ссылаясь на эти переменные вне класса ссылаясь на эти переменные вне класса, т.е. ядержали эти переменные общедоступными, поэтому, когда pro guard анализирует те файлы, из которых он ссылается на эти переменные напрямую, они изменяют эти переменные, и, следовательно, эти файлы изменяются даже после использования правильного кода

...