

# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in G:\Android_IDE\ADT\sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}
-dontwarn com.blankj.utilcode.**

-keepclassmembers class * {
    @com.blankj.utilcode.util.BusUtils$Bus <methods>;
}

-keep public class * extends com.blankj.utilcode.util.ApiUtils$BaseApi
-keep,allowobfuscation @interface com.blankj.utilcode.util.ApiUtils$Api
-keep @com.blankj.utilcode.util.ApiUtils$Api class *

-keepattributes *Annotation*



# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
##保证CalledByNative不被混淆
-keepclasseswithmembernames class * {
    native <methods>;
}

#保持webrtc、RtcEngine中的类不被混淆
-keep class com.bytedance.realx.video.**{*;}
-keep class com.bytedance.realx.audio.**{*;}
-keep class com.bytedance.realx.** {*;}
-keep class com.ss.bytertc.**{*;}
-keep class com.bytedance.bae.** {*;}

#保证所有带有带有CallByNaitve注解方法与类名称不被混淆
-keepclasseswithmembers class * {
    @com.bytedance.realx.video.CalledByNative *;
}

-keepattributes Signature
-keepattributes *Annotation*

#使CVSDK不被混淆
-keep class com.bef.effectsdk.** { *; }
-keep class com.bytedance.labcv.effectsdk.** { *; }
-keep class com.bytedance.labcv.licenselibrary.** { *; }
-keep class com.effectsar.labcv.effectsdk.** { *; }
-keep class com.effectsar.labcv.licenselibrary.** { *; }

#适配R8混淆规则(gradle8.0+)导致的warning变成error导致编译不过
-dontwarn com.ss.android.ugc.effectmanager.**
-dontwarn com.apm.lite.**
-dontwarn com.huawei.**


# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
##保证CalledByNative不被混淆
-keepclasseswithmembernames class * {
    native <methods>;
}

#保持webrtc、RtcEngine中的类不被混淆
-keep class com.bytedance.cloudgame.realx.video.**{*;}
-keep class com.bytedance.cloudgame.realx.audio.**{*;}
-keep class com.bytedance.cloudgame.realx.** {*;}
-keep class com.ss.cloudgame.bytertc.**{*;}
-keep class com.bytedance.cloudgame.bae.** {*;}

#保证所有带有带有CallByNaitve注解方法与类名称不被混淆
-keepclasseswithmembers class * {
    @com.bytedance.cloudgame.realx.video.CalledByNative *;
}

-keepattributes Signature
-keepattributes *Annotation*

#使CVSDK不被混淆
-keep class com.bef.effectsdk.** { *; }
-keep class com.bytedance.labcv.effectsdk.** { *; }
-keep class com.bytedance.labcv.licenselibrary.** { *; }
-keep class com.effectsar.labcv.effectsdk.** { *; }
-keep class com.effectsar.labcv.licenselibrary.** { *; }

#适配R8混淆规则(gradle8.0+)导致的warning变成error导致编译不过
-dontwarn com.ss.android.ugc.effectmanager.**
-dontwarn com.apm.lite.**
-dontwarn com.huawei.**

# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
##保证CalledByNative不被混淆
-keepclasseswithmembernames class * {
    native <methods>;
}

#保持webrtc、RtcEngine中的类不被混淆
-keep class com.bytedance.cloudgame.realx.video.**{*;}
-keep class com.bytedance.cloudgame.realx.audio.**{*;}
-keep class com.bytedance.cloudgame.realx.** {*;}
-keep class com.ss.cloudgame.bytertc.**{*;}
-keep class com.bytedance.cloudgame.bae.** {*;}

#保证所有带有带有CallByNaitve注解方法与类名称不被混淆
-keepclasseswithmembers class * {
    @com.bytedance.cloudgame.realx.video.CalledByNative *;
}

-keepattributes Signature
-keepattributes *Annotation*

#使CVSDK不被混淆
-keep class com.bef.effectsdk.** { *; }
-keep class com.bytedance.labcv.effectsdk.** { *; }
-keep class com.bytedance.labcv.licenselibrary.** { *; }
-keep class com.effectsar.labcv.effectsdk.** { *; }
-keep class com.effectsar.labcv.licenselibrary.** { *; }

#适配R8混淆规则(gradle8.0+)导致的warning变成error导致编译不过
-dontwarn com.ss.android.ugc.effectmanager.**
-dontwarn com.apm.lite.**
-dontwarn com.huawei.**


# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
##保证CalledByNative不被混淆
-keepclasseswithmembernames class * {
    native <methods>;
}

#保持webrtc、RtcEngine中的类不被混淆
-keep class com.bytedance.realx.video.**{*;}
-keep class com.bytedance.realx.audio.**{*;}
-keep class com.bytedance.realx.** {*;}
-keep class com.ss.bytertc.**{*;}
-keep class com.bytedance.bae.** {*;}

#保证所有带有带有CallByNaitve注解方法与类名称不被混淆
-keepclasseswithmembers class * {
    @com.bytedance.realx.video.CalledByNative *;
}

-keepattributes Signature
-keepattributes *Annotation*

#使CVSDK不被混淆
-keep class com.bef.effectsdk.** { *; }
-keep class com.bytedance.labcv.effectsdk.** { *; }
-keep class com.bytedance.labcv.licenselibrary.** { *; }
-keep class com.effectsar.labcv.effectsdk.** { *; }
-keep class com.effectsar.labcv.licenselibrary.** { *; }

#适配R8混淆规则(gradle8.0+)导致的warning变成error导致编译不过
-dontwarn com.ss.android.ugc.effectmanager.**
-dontwarn com.apm.lite.**
-dontwarn com.huawei.**


# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in G:\Android_IDE\ADT\sdk/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the proguardFiles
# directive in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# Add any project specific keep options here:

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}
-dontwarn com.blankj.utilcode.**

-keepclassmembers class * {
    @com.blankj.utilcode.util.BusUtils$Bus <methods>;
}

-keep public class * extends com.blankj.utilcode.util.ApiUtils$BaseApi
-keep,allowobfuscation @interface com.blankj.utilcode.util.ApiUtils$Api
-keep @com.blankj.utilcode.util.ApiUtils$Api class *

-keepattributes *Annotation*



# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
##保证CalledByNative不被混淆
-keepclasseswithmembernames class * {
    native <methods>;
}

#保持webrtc、RtcEngine中的类不被混淆
-keep class com.bytedance.realx.video.**{*;}
-keep class com.bytedance.realx.audio.**{*;}
-keep class com.bytedance.realx.** {*;}
-keep class com.ss.bytertc.**{*;}
-keep class com.bytedance.bae.** {*;}

#保证所有带有带有CallByNaitve注解方法与类名称不被混淆
-keepclasseswithmembers class * {
    @com.bytedance.realx.video.CalledByNative *;
}

-keepattributes Signature
-keepattributes *Annotation*

#使CVSDK不被混淆
-keep class com.bef.effectsdk.** { *; }
-keep class com.bytedance.labcv.effectsdk.** { *; }
-keep class com.bytedance.labcv.licenselibrary.** { *; }
-keep class com.effectsar.labcv.effectsdk.** { *; }
-keep class com.effectsar.labcv.licenselibrary.** { *; }

#适配R8混淆规则(gradle8.0+)导致的warning变成error导致编译不过
-dontwarn com.ss.android.ugc.effectmanager.**
-dontwarn com.apm.lite.**
-dontwarn com.huawei.**


# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
##保证CalledByNative不被混淆
-keepclasseswithmembernames class * {
    native <methods>;
}

#保持webrtc、RtcEngine中的类不被混淆
-keep class com.bytedance.cloudgame.realx.video.**{*;}
-keep class com.bytedance.cloudgame.realx.audio.**{*;}
-keep class com.bytedance.cloudgame.realx.** {*;}
-keep class com.ss.cloudgame.bytertc.**{*;}
-keep class com.bytedance.cloudgame.bae.** {*;}

#保证所有带有带有CallByNaitve注解方法与类名称不被混淆
-keepclasseswithmembers class * {
    @com.bytedance.cloudgame.realx.video.CalledByNative *;
}

-keepattributes Signature
-keepattributes *Annotation*

#使CVSDK不被混淆
-keep class com.bef.effectsdk.** { *; }
-keep class com.bytedance.labcv.effectsdk.** { *; }
-keep class com.bytedance.labcv.licenselibrary.** { *; }
-keep class com.effectsar.labcv.effectsdk.** { *; }
-keep class com.effectsar.labcv.licenselibrary.** { *; }

#适配R8混淆规则(gradle8.0+)导致的warning变成error导致编译不过
-dontwarn com.ss.android.ugc.effectmanager.**
-dontwarn com.apm.lite.**
-dontwarn com.huawei.**

# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
##保证CalledByNative不被混淆
-keepclasseswithmembernames class * {
    native <methods>;
}

#保持webrtc、RtcEngine中的类不被混淆
-keep class com.bytedance.cloudgame.realx.video.**{*;}
-keep class com.bytedance.cloudgame.realx.audio.**{*;}
-keep class com.bytedance.cloudgame.realx.** {*;}
-keep class com.ss.cloudgame.bytertc.**{*;}
-keep class com.bytedance.cloudgame.bae.** {*;}

#保证所有带有带有CallByNaitve注解方法与类名称不被混淆
-keepclasseswithmembers class * {
    @com.bytedance.cloudgame.realx.video.CalledByNative *;
}

-keepattributes Signature
-keepattributes *Annotation*

#使CVSDK不被混淆
-keep class com.bef.effectsdk.** { *; }
-keep class com.bytedance.labcv.effectsdk.** { *; }
-keep class com.bytedance.labcv.licenselibrary.** { *; }
-keep class com.effectsar.labcv.effectsdk.** { *; }
-keep class com.effectsar.labcv.licenselibrary.** { *; }

#适配R8混淆规则(gradle8.0+)导致的warning变成error导致编译不过
-dontwarn com.ss.android.ugc.effectmanager.**
-dontwarn com.apm.lite.**
-dontwarn com.huawei.**


# Add project specific ProGuard rules here.
# You can control the set of applied configuration files using the
# proguardFiles setting in build.gradle.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html

# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}

# Uncomment this to preserve the line number information for
# debugging stack traces.
#-keepattributes SourceFile,LineNumberTable

# If you keep the line number information, uncomment this to
# hide the original source file name.
#-renamesourcefileattribute SourceFile
##保证CalledByNative不被混淆
-keepclasseswithmembernames class * {
    native <methods>;
}

#保持webrtc、RtcEngine中的类不被混淆
-keep class com.bytedance.realx.video.**{*;}
-keep class com.bytedance.realx.audio.**{*;}
-keep class com.bytedance.realx.** {*;}
-keep class com.ss.bytertc.**{*;}
-keep class com.bytedance.bae.** {*;}

#保证所有带有带有CallByNaitve注解方法与类名称不被混淆
-keepclasseswithmembers class * {
    @com.bytedance.realx.video.CalledByNative *;
}

-keepattributes Signature
-keepattributes *Annotation*

#使CVSDK不被混淆
-keep class com.bef.effectsdk.** { *; }
-keep class com.bytedance.labcv.effectsdk.** { *; }
-keep class com.bytedance.labcv.licenselibrary.** { *; }
-keep class com.effectsar.labcv.effectsdk.** { *; }
-keep class com.effectsar.labcv.licenselibrary.** { *; }

#适配R8混淆规则(gradle8.0+)导致的warning变成error导致编译不过
-dontwarn com.ss.android.ugc.effectmanager.**
-dontwarn com.apm.lite.**
-dontwarn com.huawei.**
