proguard-rules.pro 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. # Add project specific ProGuard rules here.
  2. # You can control the set of applied configuration files using the
  3. # proguardFiles setting in build.gradle.
  4. #
  5. # For more details, see
  6. # http://developer.android.com/guide/developing/tools/proguard.html
  7. # If your project uses WebView with JS, uncomment the following
  8. # and specify the fully qualified class name to the JavaScript interface
  9. # class:
  10. #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
  11. # public *;
  12. #}
  13. # Uncomment this to preserve the line number information for
  14. # debugging stack traces.
  15. #-keepattributes SourceFile,LineNumberTable
  16. # If you keep the line number information, uncomment this to
  17. # hide the original source file name.
  18. #-renamesourcefileattribute SourceFile
  19. -keep public class * extends android.app.Application
  20. -keep public class * extends android.support.multidex.MultiDexApplication
  21. -keep public class * extends android.app.Service
  22. -keep public class * extends android.content.BroadcastReceiver
  23. -keep public class * extends android.content.ContentProvider
  24. -keep public class * extends android.app.backup.BackupAgentHelper
  25. -keep public class * extends android.preference.Preference
  26. -keep public class * extends android.view.View
  27. -keep public class com.android.vending.licensing.ILicensingService
  28. -keep class android.support.** {*;}
  29. -keep public class * extends android.view.View{
  30. *** get*();
  31. void set*(***);
  32. public <init>(android.content.Context);
  33. public <init>(android.content.Context, android.util.AttributeSet);
  34. public <init>(android.content.Context, android.util.AttributeSet, int);
  35. }
  36. -keepclasseswithmembers class * {
  37. public <init>(android.content.Context, android.util.AttributeSet);
  38. public <init>(android.content.Context, android.util.AttributeSet, int);
  39. }
  40. #这个主要是在layout 中写的onclick方法android:onclick="onClick",不进行混淆
  41. -keepclassmembers class * extends android.app.Activity {
  42. public void *(android.view.View);
  43. }
  44. -keepclassmembers class * implements java.io.Serializable {
  45. static final long serialVersionUID;
  46. private static final java.io.ObjectStreamField[] serialPersistentFields;
  47. private void writeObject(java.io.ObjectOutputStream);
  48. private void readObject(java.io.ObjectInputStream);
  49. java.lang.Object writeReplace();
  50. java.lang.Object readResolve();
  51. }
  52. -keep class **.R$* {
  53. *;
  54. }
  55. -keepclassmembers class * {
  56. void *(*Event);
  57. }
  58. -keepclassmembers enum * {
  59. public static **[] values();
  60. public static ** valueOf(java.lang.String);
  61. }
  62. -keep class * implements android.os.Parcelable {
  63. public static final android.os.Parcelable$Creator *;
  64. }
  65. #// natvie 方法不混淆
  66. -keepclasseswithmembernames class * {
  67. native <methods>;
  68. }
  69. #保持 Parcelable 不被混淆
  70. -keep class * implements android.os.Parcelable {
  71. public static final android.os.Parcelable$Creator *;
  72. }
  73. -keep class com.xugame.gameconsole.** { *; }
  74. -keep public class com.retroarch.browser.retroactivity.RetroActivityCommon{ *; }
  75. -keep public class com.xugame.gameconsole.BuildConfig{ *; }
  76. -keep public class com.xugame.gameconsole.preferences.ConfigFile{ *; }
  77. -keep public class com.xugame.gameconsole.preferences.UserPreferences{ *; }
  78. -keep public class com.xugame.gameconsole.playcore.PlayCoreManager{ *; }