2014-02-17 8 views
4

로그를 공개 할 때 로그에서 프로젝트를 지우고 싶습니다. 그러나 내가 난독 화를 사용하고 제로 결과를하기 위해 노력하고있어 : 내 프로젝트 설정 :Proguard에서 로그를 제거하지 않습니다.

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt 

# Project target. 
target=android-19 
android.library.reference.1=..\\google-play-services_lib 

그리고 내 난독 화 - 속성

-optimizationpasses 5 
-dontusemixedcaseclassnames 
-dontskipnonpubliclibraryclasses 
-dontpreverify 
-keepattributes LineNumberTable 
-verbose 
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 

-renamesourcefileattribute SourceFile 
-keepattributes SourceFile,LineNumberTable 

#To remove debug logs: 
-assumenosideeffects class android.util.Log { 
    public static *** d(...); 
    public static *** v(...); 
    public static *** w(...); 
    public static *** i(...); 
} 


-keep class android.support.v4.** { *; } 

-keep public class * extends android.app.Activity 
-keep public class * extends android.app.Application 
-keep public class * extends android.app.Fragment 
-keep public class * extends android.app.ListActivity 
-keep public class * extends android.app.Service 
-keep public class * extends android.content.BroadcastReceiver 
-keep public class * extends android.content.ContentProvider 
-keep public class com.android.vending.licensing.ILicensingService 

-keepclasseswithmembers class * { 
    native <methods>; 
} 

-keepclasseswithmembers class * { 
    public <init>(android.content.Context, android.util.AttributeSet); 
} 

-keepclasseswithmembers class * { 
    public <init>(android.content.Context, android.util.AttributeSet, int); 
} 

-keepclassmembers enum * { 
    public static **[] values(); 
    public static ** valueOf(java.lang.String); 
} 

-keepclassmembers class net.hockeyapp.android.UpdateFragment { 
    *; 
} 

-keepclassmembers class * { 
    public void onClickUpdate(android.view.View); 
} 

-keep public class javax.net.ssl.** 
-keepclassmembers public class javax.net.ssl.** { 
    *; 
} 

-keep public class org.apache.http.** 
-keepclassmembers public class org.apache.http.** { 
    *; 
} 

왜 작동하지 않을 수는? 나는 optimization..same 결과에/해제하기 위해 노력하고있어

답변

8

당신이 assumenosideeffects 설정 작업 할 경우, proguard-android-optimize.txt을 사용해야합니다 :

변경하여 proguard.config 라인 :

proguard.config = $ {sdk.dir}/도구/난독 화/난독 화 - Android 기기, 최적화가 .txt : 난독 화 - project.txt

에 대한 자세한 설명에 대한Eric Lafortune의및 proguard-android.txt을 찾을 수 있습니다. here

+0

감사합니다. – onCreate

+0

그래도 그것을 사용하는 일부 위험이 있습니다. https://android.googlesource.com/platform/sdk/+/master/files/proguard-android-optimize.txt에있는 설명을 확인하십시오. – Elye

+0

디버그 메시지를 제거하는 다른 방법이 있습니다. https : //medium.com/@elye.project/debug-messages-your-responsible-to-clear-it-before-release-1a0f872d66f#.6io15cj29 – Elye

관련 문제