From f4b10782f09a07b7fe1f3ec8770072cd35d3fda3 Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Thu, 4 Dec 2025 17:50:51 +0800 Subject: [PATCH] =?UTF-8?q?key=20=E5=92=8C=20proguadr?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/proguard-rules.pro | 47 ++++++++++++++++++++++++++- core/architecture/proguard-rules.pro | 4 ++- vidiDinKey | Bin 0 -> 2706 bytes youtube/custom-ui/proguard-rules.pro | 4 ++- 4 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 vidiDinKey diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 481bb43..458a1d6 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -18,4 +18,49 @@ # If you keep the line number information, uncomment this to # hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file +#-renamesourcefileattribute SourceFile + +# 保持 Android 四大组件等系统类 +-keep public class * extends android.app.Activity +-keep public class * extends android.app.Service +-keep public class * extends android.content.BroadcastReceiver +-keep public class * extends android.content.ContentProvider +-keep public class * extends android.app.Application + +# 保持 Native 方法不被混淆 +-keepclasseswithmembernames class * { + native ; +} + +# 保持 Parcelable 序列化类不被混淆 +-keep class * implements android.os.Parcelable { + public static final android.os.Parcelable$Creator *; +} + +# 保持 Serializable 序列化的类成员不被混淆 +-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(); +} + +# 保持自定义 View 的构造方法不被混淆(用于 XML 布局) +-keep public class * extends android.view.View { + public (android.content.Context); + public (android.content.Context, android.util.AttributeSet); + public (android.content.Context, android.util.AttributeSet, int); + public void set*(...); +} + +# 保持枚举类不被混淆 +-keepclassmembers enum * { + public static **[] values(); + public static ** valueOf(java.lang.String); +} + +# 保持由 JSON 转换的 Bean 类(或者你的数据模型类)不被混淆 +-keep class com.gamedog.vididin.beans.** { *; } +-keep class com.gamedog.vididin.router.** { *; } \ No newline at end of file diff --git a/core/architecture/proguard-rules.pro b/core/architecture/proguard-rules.pro index 481bb43..91b3670 100644 --- a/core/architecture/proguard-rules.pro +++ b/core/architecture/proguard-rules.pro @@ -18,4 +18,6 @@ # If you keep the line number information, uncomment this to # hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file +#-renamesourcefileattribute SourceFile + +-dontwarn com.ama.core.common.interfaces.empty.DefaultActivityLifecycleCallbacks \ No newline at end of file diff --git a/vidiDinKey b/vidiDinKey new file mode 100644 index 0000000000000000000000000000000000000000..5da3e34015421ab8ec393e29f8dbc122ab320e92 GIT binary patch literal 2706 zcma)8X*3j!8lD+rZOS&;%09?eW1m7vwz3b&pdnk9QX?5_7!1aieb-_8%p zOCF5llKD+b!f~v$|B_grf^n?nzv+_SC}KPIpA>`(2qNNG^?s8&aL+#p*5hy#{O{eY z5V#^3>K|BHJ6M<#ip;k-BUYCYFO%Dw1p>+OfPfNk2ph-0H-b1>0dP?^P8Ylh(1QgG zQ~>iVO756;S>$fd56kzXO2KR|x7>q_g%+6Wh*^&K}7qd)2p-BsT;kMBIPudd9s2 zztRtXemXX`@vmp@zkU(IXc(|MFMar!+`yJ6(T&rL$Ms zGA+n=-}x@2r3?~fKRR3hF!Ey(g)CogaBq+}Hz24U#B}_lj#aU={r+uCW+Bnr(&|`` zrFTgxmUN2tFqo|Sq_VE%o-NK!eE?S#4)g^No}z+>U{_kUoHflW!wpeklSvf}gD_(> zyTqzEPue0L8)`0!kDN2oTB?S*`X|ZGeWtFpw$m0BzqM`hRvK9gP*XQ-lC;zZ-PU_Oy%liKkl@DuH`_?_yE1T%U5r4OIt_^@$qh zMcZlfZ6A=rBu#auuQP+wg>lKQhspEn0|Ddwl<8CvA} zdEUFn;4&wbTh~JlOl6^I&pR}e`K!t=h{Di(SYxwBqHb$GCLt#Op zo3&iaA*s8#s4oP}gGYn>7IxwXBwO0IAnvrHn|PND{^#M}eJZ<}oY091jh^MvU5Z1^ zMcU#^t?Zid3U^ee3~sJPoRM8#3yKS`yve6;FXTwOaxlsND^#Wo~7{Q0aab%t=J5=O;K9Z*YSk#%Oosa`N~L-R=hZpf8EmE=Wt81U;Wr7dVW+X z{VJV1Pk*8V!q#R6cI1R?{JK7}P57jg*_rKO0HA{8s9ydsZ7>69Dmb`C;F#Y>vD8}hOQl2%UQKffanZJ-(JU7Wc zy6qS)#EBA?%%l3zzS`1Xgx7A@5mQn&ON;Vibcsv+l+)dCIUtOH^0^fdZQ9{{gi`UB z1s8yK7haGZ9y;8POdQJF#Avsiqcm5GBs~UA-6rmGzF0V#d}#<}h++yk`s*{p16gan z3!1gRZ#dYA{vb`F*?c$~KSlevOHfk`{Wb>tT)?Cjw(`(?#yruIryB-!nlG|>SyQS9 zS)te4KvE}@0}7{+q#;@+rw~@e!B&+CiZv9ro^qt&@ z_bS)mGJo2W6RIL4CIAQocmv%313!Q=z!%^F2!>1kZ9Ay~1@qZ@-}R7C(b7~$sKZs% z)#2yW;5hKDKPGlIA`XoFO<90|fZxOTZw2_j3Y%bKU$GYi3zk@-rk!hXC&*h^T__X@NF?a6fSroBoOAk8yge?Xz?LpZIPa3%0WV&VM;2|sLb%Lw|q8^>2 ztL^r^ImAEU4q*6O`-laCSb6g=)OVK3hyLZ_u2NA zkwQHOx*63gHlGC(zI=&8R);?g!av0@_*I;bWe@Ww8mi9JH3~Q(Xn1`TJh89zl zL^NN3YM@2;v1L1Zjg`i_opiu0Yiv69 z?N7d+&^ZL&_!5G~=UdUbtSz4)8PxQ&j#S*O|I$uF@zs8qBdWvkNxPv`Y=s6)U0%V= z8wC153FV}2HGL1QWy-RpiOz$)e&1+&$N@Q8$l_gMU6a89`}B`Fk8Jj(Z-T&~7+ux% z@hZoLlT?ZlOKoUcS@8Sqt-Gj}L6#WHW>9qLL;QFVr+(s2jQ0Ml?rkfc!Prm0_kzLG z>@L%-Hw$u7ygq(XI|fa5rWU@44;-tN57!B%$W<48cg^<0Z%Qaj)-9(z{PiVX52`e5 zCebyPA#~zIbcge*5nDz6P~$Devb=_op@DF>i0d?|D)toh?mg*#yC!ib*~>G|=XvGI zTYABctL2q2<#=cfU zk~$8SOGGZJV#^3`Gda*UzS5-;+f1a&9f?OC&T-?0DYm)aS$uXN{MC=@T*=xT8r4T5 z+amx50S7mStH6){`O`o^RsdMy!Nj!9OEd+RY!vZDp#D1k)x=I>R%ciP?xxsic+#i0 eVCX#i$#xlOMIRI5`ql1&JHGmLfXaVW%0B@QM(&mX literal 0 HcmV?d00001 diff --git a/youtube/custom-ui/proguard-rules.pro b/youtube/custom-ui/proguard-rules.pro index 481bb43..e26b63e 100644 --- a/youtube/custom-ui/proguard-rules.pro +++ b/youtube/custom-ui/proguard-rules.pro @@ -18,4 +18,6 @@ # If you keep the line number information, uncomment this to # hide the original source file name. -#-renamesourcefileattribute SourceFile \ No newline at end of file +#-renamesourcefileattribute SourceFile + +-dontwarn com.pierfrancescosoffritti.androidyoutubeplayer.core.player.listeners.YouTubePlayerListener \ No newline at end of file