diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 858b48b5..43dd314c 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,5 +1,5 @@ [versions] -agp = "8.7.3" +agp = "8.9.1" android-desugar = "2.1.5" androidx-core = "1.16.0" androidx-test-rules = "1.6.1" diff --git a/lib/build.gradle.kts b/lib/build.gradle.kts index f483cd9e..0bd1a32e 100644 --- a/lib/build.gradle.kts +++ b/lib/build.gradle.kts @@ -24,6 +24,9 @@ android { aarMetadata { minCompileSdk = 29 } + + // These ProGuard/R8 rules will be included in the final APK. + consumerProguardFiles("consumer-rules.pro") } compileOptions { @@ -51,6 +54,15 @@ android { } } + buildTypes { + release { + // Android libraries shouldn't be minified: + // https://developer.android.com/studio/projects/android-library#Considerations + isMinifyEnabled = false + proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt")) + } + } + lint { disable += listOf("AllowBackup", "InvalidPackage") } diff --git a/lib/consumer-rules.pro b/lib/consumer-rules.pro new file mode 100644 index 00000000..58cabf1a --- /dev/null +++ b/lib/consumer-rules.pro @@ -0,0 +1,11 @@ + +# keep all iCalendar properties/parameters (used via reflection) +-keep class net.fortuna.ical4j.** { *; } + +# don't warn when these are missing +-dontwarn com.github.erosb.jsonsKema.** +-dontwarn groovy.** +-dontwarn java.beans.Transient +-dontwarn javax.cache.** +-dontwarn org.codehaus.groovy.** +-dontwarn org.jparsec.**