2013-10-25 39 views
2

即使我出口启用ProGuard的应用程序后,AdMob会调试消息仍然显示在logcat的最高禁止AdMob的调试消息

它看起来是这样的

10月10日至25日:13:22.913:我/ Ads(13399):adRequestUrlHtml: AFMA_buildAdURL({“preqs”:12,“session_id”:“6802423233789”,“u_sd”:2,“seq_num”:“13”,“slotname”:“MY PRIVATE KEY !! “ ”u_w“:384, ”MSID“: ”com.mypackage“, ”JS“: ”AFMA-SDK-A-V6.1.0“, ”toar“:0, ”MV“:” 80230011.com .android.vending “ ”ISU“: ”25C96A854AB7982C962ED93D02871DA89“, ”CIPA“:1, ”格式“: ”320x50_mb“, ”净“: ”ED“, ”APP_NAME“:” 41。 android.com.my.package”, “HL”: “EN”, “u_h”:592, “载体”: “23430”, “的ptime”:1112155, “u_audio”:3});

如何禁用这些消息?

编辑:

这是我的ProGuard配置看起来像

-dontwarn com.androidquery.auth.* 

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

#-keepparameternames 
-renamesourcefileattribute SourceFile 
-keepattributes Exceptions,InnerClasses,Signature,Deprecated, 
       SourceFile,LineNumberTable,*Annotation*,EnclosingMethod 

#-keep public class com.androidquery.*,com.androidquery.callback.*,com.androidquery.util.AQUtility,com.androidquery.util.Constants { 
-keep public class *{ 
    public protected *; 
} 

-keepclassmembernames class * { 
    java.lang.Class class$(java.lang.String); 
    java.lang.Class class$(java.lang.String, boolean); 
} 

-keepclasseswithmembernames class * { 
    native <methods>; 
} 

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

-keepclassmembers class * implements java.io.Serializable { 
    static final long serialVersionUID; 
    private static final java.io.ObjectStreamField[] serialPersistentFields; 
    private void writeObject(java.io.ObjectOutputStream); 
    private void readObject(java.io.ObjectInputStream); 
    java.lang.Object writeReplace(); 
    java.lang.Object readResolve(); 
} 
# Remove log messages 
-assumenosideeffects class android.util.Log { 
    public static *** d(...); 
    public static *** v(...); 
    public static *** i(...); 
} 

回答

1

检查following答案在调试和详细日志使用是在proguard.cfg文件禁用:

-assumenosideeffects class android.util.Log { 
    public static *** d(...); 
    public static *** v(...); 
} 

您也可以使用它来阻止INFO日志消息:

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

编辑:请注意,尽管邮件不会被记录,字符串仍然在生成的字节码中。有关更多信息,请参阅this answer

+0

没有工作。消息仍然存在。 – code511788465541441

0

该消息是来自Admob库的INFO级别消息。这不是你的担心。

您的担心是什么,这是显示您的AdUnitId?您是否担心别人会使用它并为您的流量提供功劳?

我不会担心它。

+0

不错,但它很烦人,因为每次广告刷新,我的logcat垃圾邮件 – code511788465541441

+0

这就是为什么我们有logcat过滤器 – William

+1

你必须应用过滤器每次加载日食。此外,如果您想过滤其他内容,则必须移除Admob过滤器并重新应用 – code511788465541441