# 在这里添加项目的代码混淆规则

# 混淆规则请参考:http://proguard.sourceforge.net/index.html#manual/usage.html

##################### 一般使用默认 #####################

# 不使用大小写混合类名,混淆后的类名为小写

-dontusemixedcaseclassnames

# 混淆第三方库

-dontskipnonpubliclibraryclasses

# 混淆时记录日志,有助于排查错误

-verbose

# 代码混淆使用的算法.

-optimizations !code/simplification/arithmetic,!code/simplification/cast,!field/*,!class/merging/*

# 代码混淆压缩比,值在0-7之间,默认为5.

-optimizationpasses 5

# 优化时允许访问并修改有修饰符的类和类的成员

-allowaccessmodification

# native方法保留
-keepclasseswithmembernames,includedescriptorclasses class * {
    native <methods>;
}

# 保留枚举类不被混淆
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}

# 保留行号
-keepattributes SourceFile,LineNumberTable

-keep class com.cosmos.radar.core.RadarConfig{*;}
-keep class com.cosmos.radar.core.RadarConfig$*{*;}

-keep class com.cosmos.radar.core.Kit{*;}
-keep class com.cosmos.radar.core.BuildConfig{*;}
-keep class com.cosmos.radar.core.ILog{*;}
-keep class com.cosmos.radar.core.IPageNameProvider{*;}
-keep class com.cosmos.radar.memory.leak.KeyedWeakReference{*;}
-keep class * extends com.cosmos.radar.core.Kit { *;}
-keep class squareup.haha.** {*;}
-keep class com.squareup.haha.** {*;}
-dontwarn com.squareup.haha.**


-keep class com.cosmos.radar.core.Radar{
public static void with(com.cosmos.radar.core.RadarConfig);
public static void setUserId(java.lang.String);
public static synchronized void putUserKeyValue(java.lang.String, java.lang.String);
public static synchronized void putUserKeyValue(java.lang.String, java.lang.Number);
}