リリースビルドする際に、ログ出力しないように設定したものの
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;
こうします。ビルドして…
これでログが出ないようになります。