Использовать Proguard только для отключения ведения журнала и сокращения ресурсов

build.gradle:

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

Я не хочу, чтобы Proguard оптимизировал или обфускации моего кода, поскольку это вызывает у меня много проблем. Я хочу только удалить вызовы журналов и разрешить сокращение неиспользуемых ресурсов.

proguard-rules.pro:

 -assumenosideeffects class android.util.Log { public static boolean isLoggable(java.lang.String, int); public static int w(...); public static int d(...); public static int e(...); } 

Добавление вышеописанного кода в proguard-rules.pro работает только в том случае, если я установил getDefaultProguardFile из ('proguard-android.txt') в ('proguard-android-optimize.txt')

Но, установив его в proguard-android-optimize.txt будут proguard-android-optimize.txt флаги оптимизации, которые мне не нужны в моем случае.

Итак, как я могу просто отключить протоколирование и сжатие ресурсов без использования Proguard каких-либо мер или оптимизации для моего кода?

    Вы должны быть в состоянии сделать это, включив только определенные оптимизации assumenosideeffects от assumenosideeffects зависит assumenosideeffects определенных прав. Эти два из них:

    • Код / удаление / просто : удаляет мертвый код на основе простого анализа потока управления.
    • Код / удаление / расширенный : удаляет мертвый код на основе анализа потока управления и анализа потока данных.

    Здесь вы можете узнать больше о различных вариантах оптимизации. Так что что-то вроде этого должно работать:

    proguard-rules.pro

     -optimizations code/removal/simple,code/removal/advanced -dontobfuscate -assumenosideeffects class android.util.Log { public static boolean isLoggable(java.lang.String, int); public static int w(...); public static int d(...); public static int e(...); } 

    build.gradle

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

    Я думаю, вы все еще можете попробовать использовать такие параметры, как -dontobfuscate & dontshrink в вашем файле конфигурации proguard. Эти параметры не будут сокращаться и запутывать код.

    Intereting Posts