Edited at

Proguardでログ出力を削除する

More than 1 year has passed since last update.

リリースビルドする際に、ログ出力しないように設定したものの

adb logcat でログを見てみるとキッチリ出ていました。

原因究明に数時間使ってしまったので

他の人もハマらないようにメモ


環境

Android Studio 3.0.1

Build #AI-171.4443003, built on November 10, 2017

JRE: 1.8.0_152-release-915-b01 amd64

JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

Windows 10 10.0

Gradle 4.1


Proguardでログ出力を削除するには

以下のようにします。


build.gradle


buildTypes {
release {
// プロガードを有効にする場合は true にする
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}



ハマリポイント

Proguardの設定ファイルproguard-rules.proで

デフォルトの設定で

ユーティリティログクラスがコメントアウトされてました…


proguard-rules.pro

# strip logging

#-assumenosideeffects public class android.util.Log {
# public static *** v(...);
# public static *** d(...);
# public static *** i(...);
# public static *** w(...);
# public static *** e(...);
# public static *** wtf(...);
#}
#-assumenosideeffects public class android.util.Log;

なので


proguard-rules.pro

# strip logging

-assumenosideeffects public class android.util.Log {
public static *** v(...);
public static *** d(...);
public static *** i(...);
public static *** w(...);
public static *** e(...);
public static *** wtf(...);
}
#-assumenosideeffects public class android.util.Log;

こうします。ビルドして…

これでログが出ないようになります。