# Tools SDK 消费者混淆规�?# 此文件会自动合并到使�?SDK �?App 的混淆配置中
# 用于保护 SDK �?API 不被 App 的混淆规则影�?
# ========================================
# 1. 保持 SDK 主入口类不混�?# ========================================
# App 混淆时，不要混淆 MainUtils 类，否则 App 无法调用 SDK
-keep public class fashion.mytool.toolssdk.MainUtils {
    public static final java.lang.String VERSION_NAME;
    public static final int VERSION_CODE;
    public static void init(android.content.Context);
    public static void init(android.content.Context, fashion.mytool.toolssdk.Config);
    public static fashion.mytool.toolssdk.MainUtils getInstance();
    public static fashion.mytool.toolssdk.MainUtils getInstance();
    public fashion.mytool.toolssdk.Config getConfig();
    public java.lang.String getVersionName();
    public int getVersionCode();
    public fashion.mytool.toolssdk.utils.StringUtils getStringUtils();
    public boolean isNetworkConnected();
    public boolean isWifiConnected();
    public boolean isMobileConnected();
    public boolean isEmpty(java.lang.String);
    public boolean isNotEmpty(java.lang.String);
    public java.lang.String truncate(java.lang.String, int);
    public java.lang.String reverse(java.lang.String);
}

# ========================================
# 2. 保持 SDK 工具类不混淆
# ========================================
# StringUtils �?-keep public class fashion.mytool.toolssdk.utils.StringUtils {
    public static boolean isEmpty(java.lang.String);
    public static boolean isNotEmpty(java.lang.String);
    public static java.lang.String truncate(java.lang.String, int);
    public static java.lang.String reverse(java.lang.String);
}

# NetworkUtils �?-keep public class fashion.mytool.toolssdk.utils.NetworkUtils {
    public static boolean isNetworkConnected(android.content.Context);
    public static boolean isWifiConnected(android.content.Context);
    public static boolean isMobileConnected(android.content.Context);
}

# ========================================
# 3. 保持 Config 配置类不混淆
# ========================================
-keep public class fashion.mytool.toolssdk.Config {
    public *;
}

-keep public class fashion.mytool.toolssdk.Config$Builder {
    public *;
}

# ========================================
# 4. 保持 SDK 的所有公�?API
# ========================================
# 保持所�?public 类和 public 方法
-keep class fashion.mytool.toolssdk.** {
    public *;
}

# ========================================
# 5. 保持 SDK �?R 类资�?# ========================================
-keep class fashion.mytool.toolssdk.R { *; }
-keep class fashion.mytool.toolssdk.R$* {
    public <fields>;
}

# ========================================
# 6. 保持 SDK 的元数据
# ========================================
# 如果 App 读取�?SDK �?Meta-data，需要保�?-keep class fashion.mytool.toolssdk.** { *; }
