rn-linkrunner 2.5.0 → 2.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +2 -1
- package/android/consumer-rules.pro +47 -1
- package/package.json +1 -1
package/android/build.gradle
CHANGED
|
@@ -74,6 +74,7 @@ android {
|
|
|
74
74
|
targetSdkVersion getExtOrIntegerDefault('targetSdkVersion')
|
|
75
75
|
versionCode 1
|
|
76
76
|
versionName "1.0"
|
|
77
|
+
consumerProguardFiles "consumer-rules.pro"
|
|
77
78
|
}
|
|
78
79
|
|
|
79
80
|
buildTypes {
|
|
@@ -117,7 +118,7 @@ dependencies {
|
|
|
117
118
|
implementation 'com.facebook.react:react-android:0.80.0'
|
|
118
119
|
|
|
119
120
|
// Linkrunner SDK
|
|
120
|
-
implementation "io.linkrunner:android-sdk:3.3.
|
|
121
|
+
implementation "io.linkrunner:android-sdk:3.3.2"
|
|
121
122
|
|
|
122
123
|
// Kotlin standard libraries - use stable versions
|
|
123
124
|
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
# Keep all classes in the io.linkrunner package
|
|
2
2
|
-keep class io.linkrunner.** { *; }
|
|
3
3
|
|
|
4
|
+
# Keep all field and method names for proper SDK functionality
|
|
5
|
+
-keepclassmembernames class io.linkrunner.sdk.** { *; }
|
|
6
|
+
|
|
4
7
|
# Keep all interfaces in the io.linkrunner package
|
|
5
8
|
-keep interface io.linkrunner.** { *; }
|
|
6
9
|
|
|
7
10
|
# Keep all enums in the io.linkrunner package
|
|
8
11
|
-keep enum io.linkrunner.** { *; }
|
|
9
12
|
|
|
13
|
+
# Keep enum methods for proper serialization (required for SDK enums)
|
|
14
|
+
-keepclassmembers enum io.linkrunner.sdk.** {
|
|
15
|
+
public static **[] values();
|
|
16
|
+
public static ** valueOf(java.lang.String);
|
|
17
|
+
}
|
|
18
|
+
|
|
10
19
|
# Keep all annotations in the io.linkrunner package
|
|
11
20
|
-keep @interface io.linkrunner.** { *; }
|
|
12
21
|
|
|
@@ -52,4 +61,41 @@
|
|
|
52
61
|
-keep class io.linkrunner.sdk.models.** { *; }
|
|
53
62
|
|
|
54
63
|
# Keep all utils classes
|
|
55
|
-
-keep class io.linkrunner.utils.** { *; }
|
|
64
|
+
-keep class io.linkrunner.utils.** { *; }
|
|
65
|
+
|
|
66
|
+
# ===========================================
|
|
67
|
+
# GSON SERIALIZATION SUPPORT
|
|
68
|
+
# ===========================================
|
|
69
|
+
|
|
70
|
+
# Keep essential attributes for JSON serialization
|
|
71
|
+
-keepattributes Signature
|
|
72
|
+
-keepattributes *Annotation*
|
|
73
|
+
-keepattributes EnclosingMethod
|
|
74
|
+
-keepattributes InnerClasses
|
|
75
|
+
|
|
76
|
+
# Gson specific classes - required for TypeToken to work
|
|
77
|
+
# This is critical for the LinkRunner SDK's WorkManager data deserialization
|
|
78
|
+
-keep class com.google.gson.reflect.TypeToken { *; }
|
|
79
|
+
-keep class * extends com.google.gson.reflect.TypeToken
|
|
80
|
+
-keep public class * implements java.lang.reflect.Type
|
|
81
|
+
|
|
82
|
+
# Keep Gson internal classes to prevent any serialization issues with R8
|
|
83
|
+
-keep class com.google.gson.internal.** { *; }
|
|
84
|
+
|
|
85
|
+
# Keep @SerializedName annotated fields (SDK scope only)
|
|
86
|
+
-keepclassmembers class io.linkrunner.sdk.** {
|
|
87
|
+
@com.google.gson.annotations.SerializedName <fields>;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
# ===========================================
|
|
91
|
+
# KOTLIN METADATA (SDK-SCOPED ONLY)
|
|
92
|
+
# ===========================================
|
|
93
|
+
|
|
94
|
+
# Keep Kotlin metadata for SDK classes
|
|
95
|
+
-keep class kotlin.Metadata { *; }
|
|
96
|
+
|
|
97
|
+
# Keep Kotlin data class methods for SDK classes
|
|
98
|
+
-keepclassmembers class io.linkrunner.sdk.** {
|
|
99
|
+
public ** component*();
|
|
100
|
+
public ** copy(...);
|
|
101
|
+
}
|