From ed8dce0749e80f1cec0262a8584c4bbcf3b9fca8 Mon Sep 17 00:00:00 2001 From: Enes Kutay SEZEN Date: Wed, 7 Jan 2026 15:50:45 +0300 Subject: [PATCH] Fix build issue --- library/build.gradle | 1 + library/consumer-rules.pro | 22 ++++++++++++++++++++++ library/proguard-rules.pro | 4 ++-- 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 library/consumer-rules.pro diff --git a/library/build.gradle b/library/build.gradle index 99283036..5c129917 100755 --- a/library/build.gradle +++ b/library/build.gradle @@ -38,6 +38,7 @@ android { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + consumerProguardFiles 'consumer-rules.pro' } } diff --git a/library/consumer-rules.pro b/library/consumer-rules.pro new file mode 100644 index 00000000..7edabcc2 --- /dev/null +++ b/library/consumer-rules.pro @@ -0,0 +1,22 @@ +# Constructor.io Android SDK - Consumer ProGuard Rules +# These rules are bundled with the AAR and applied automatically to consuming apps + +####--------Moshi---------#### +# Keep Moshi annotations so @FromJson/@ToJson reflective adapter discovery works +-keepclassmembers class * { + @com.squareup.moshi.FromJson ; + @com.squareup.moshi.ToJson ; +} +-keep @com.squareup.moshi.JsonQualifier interface * + +# Keep Kotlin metadata for Moshi reflection +-keepclassmembers class kotlin.Metadata { + public ; +} + +####-----Constructor.io SDK-----#### +# Keep SDK model classes (serialization via Moshi) +-keep class io.constructor.data.model.** { *; } + +# Keep custom Moshi adapters +-keep class io.constructor.data.model.dataadapter.** { *; } diff --git a/library/proguard-rules.pro b/library/proguard-rules.pro index 523bedc1..6f300e96 100755 --- a/library/proguard-rules.pro +++ b/library/proguard-rules.pro @@ -20,7 +20,7 @@ } ####-----Model Classes---#### --keep class constructor.io.data.model.** { *; } +-keep class io.constructor.data.model.** { *; } ####-----Sample Classes---#### --keep class constructor.io.sample.** { *; } +-keep class io.constructor.sample.** { *; }