2016-03-20 45 views
1

我尝试从发布版本的自定义proguard文件的代码中删除所有Log的方法调用。所以,我写我的自定义ProGuard的文件(带净):如何使用Proguard文件?

proguard-rules-release.txt

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

增加它在build.grade

android { 

    buildTypes { 

     release { 
      minifyEnabled false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 
        'proguard-rules.txt', 'proguard-rules-release.txt' 
     } 
    } 
} 

但是,当我在Android Studio中读取*.class文件被反编译在~/app/build/intermediates/classes/release我发现它包含所有调用以及没有proguard文件。

我在做什么错?

ADDED 我反编译的apk文件甚至。现在,我确定我的proguard文件不起作用。 我改写了build.gradle这样:

release { 
      minifyEnabled false 
      zipAlignEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 
        'proguard-rules.pro' 
} 

和生成的签署的apk文件反编译后,它......但是这一切都同样具有日志输出。我什么也不懂......

回答

1

我发现我做错了。 Imma noobie。答案在我的文章中...

minifyEnabled false 

此选项启用|禁用支持proguard文件。
也许有人会有同样的问题。