Остановить Pro-Guard от добавления "скомпилировано из:" в классы - PullRequest
0 голосов
/ 03 мая 2018

Итак, я включил Pro-Guard в проект, и после сборки apk я декомпилировал его, чтобы убедиться, что Pro-Guard выполнил свою работу и заметил, что он добавляет, например, класс BaseAdapter -

/ * составлено из: BaseAdapter * /

Смотри картинку -

enter image description here

Теперь я спрашиваю, не теряет ли смысл Pro-Guard, если он говорит, что это был за класс?

Есть ли способ сказать Pro-Guard, что не следует добавлять эту информационную строку во все классы?

Мой код, где я добавил Pro-Guard -

buildTypes {
    debug {
        debuggable true
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        shrinkResources true
    }
    release {
        signingConfig signingConfigs.somethingsomething
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        shrinkResources true
    }
}

Спасибо.

1 Ответ

0 голосов
/ 22 августа 2018

Proguard не добавляет эту строку.

/* compiled from: BaseAdapter */

Декомпилятор выполняет сопоставление запутанного имени с оригинальным именем. Вы видите это, как если бы вы использовали jadx или онлайн-сервис, такой как this

Вы можете попробовать использовать dex2jar и jd-gui для просмотра декомпилированного кода. Эта строка там не будет присутствовать.

Убедитесь, что в файле 'proguard-rules.pro' отсутствуют следующие атрибуты.

-keepattributes SourceFile

Если вы добавите это утверждение, никакой декомпилятор не сможет сделать это отображение.

...