3

プロガードを有効にしてアプリをエクスポートした後でも、Admob デバッグ メッセージが LogCat に表示される

こんな感じです

10-25 10:13:22.913: I/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,"format":"320x50_mb","net":"ed","app_name":"41. android.com.my.package","hl":"en","u_h":592,"carrier":"23430","ptime":1112155,"u_audio":3});

これらのメッセージを無効にするにはどうすればよいですか?

編集:

これは私のプロガード設定がどのように見えるかです

-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(...);
}
4

2 に答える 2

1

以下を使用して、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(...);
}

編集: メッセージはログに記録されませんが、文字列は生成されたバイトコードに含まれていることに注意してください。詳細については、この回答を参照してください。

于 2013-10-25T09:29:17.030 に答える
0

そのメッセージは、Admob ライブラリからの INFO レベルのメッセージです。それはあなたの関心事ではありません。

あなたの懸念は何ですか、それはあなたの AdUnitId を示していますか? 他の誰かがそれを使用し、そのトラフィックに対しても信用を与えるのではないかと心配していますか?

私はそれについて心配しません。

于 2013-10-25T22:34:45.400 に答える