proguard-rules.pro 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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 all location module classes
  20. -keep class com.codeskraps.core.location.** { *; }
  21. -keep class com.codeskraps.core.location.di.** { *; }
  22. -keep class com.codeskraps.core.location.domain.** { *; }
  23. # Keep specifically problematic classes
  24. -keep class com.codeskraps.core.location.di.CoreLocationModule_ProvidesLocationTrackerFactory { *; }
  25. -keep class com.codeskraps.core.location.domain.LocationTracker { *; }
  26. # Keep Koin module classes
  27. -keep class com.codeskraps.core.location.di.** { *; }
  28. -keep class com.codeskraps.core.location.di.FeatureModuleKt { *; }
  29. # Less aggressive obfuscation
  30. -keepnames class com.codeskraps.core.location.** { *; }
  31. -keepnames class com.codeskraps.core.location.data.** { *; }
  32. -keepnames class com.codeskraps.core.location.domain.** { *; }
  33. -keepnames class com.codeskraps.core.location.di.** { *; }
  34. # Keep Kotlin metadata
  35. -keepattributes RuntimeVisibleAnnotations, RuntimeVisibleParameterAnnotations, RuntimeVisibleTypeAnnotations
  36. -keepattributes *Annotation*
  37. -keepattributes Signature
  38. -keepattributes InnerClasses
  39. -keepattributes EnclosingMethod
  40. # Keep Kotlin coroutines
  41. -keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
  42. -keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}
  43. # Java language APIs
  44. -dontwarn java.lang.invoke.StringConcatFactory