LoginSignup
14
7

More than 5 years have passed since last update.

Proguardでログ出力を削除する

Last updated at Posted at 2018-01-09

リリースビルドする際に、ログ出力しないように設定したものの
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;

こうします。ビルドして…
これでログが出ないようになります。

14
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
7