From c2de139430771adc1a717bfb162e5c367621f9b0 Mon Sep 17 00:00:00 2001 From: Angelos Veglektsis Date: Wed, 28 Jan 2026 20:39:05 +0200 Subject: [PATCH] fix: KMP android bindings --- libs/gl-sdk-android/gradle.properties | 2 ++ libs/gl-sdk-android/gradle/libs.versions.toml | 8 ++++---- .../gradle/wrapper/gradle-wrapper.properties | 5 +++-- libs/gl-sdk-android/lib/build.gradle.kts | 17 +---------------- libs/gl-sdk-android/lib/consumer-rules.pro | 6 ++++++ libs/gl-sdk-android/settings.gradle.kts | 2 +- 6 files changed, 17 insertions(+), 23 deletions(-) create mode 100644 libs/gl-sdk-android/lib/consumer-rules.pro diff --git a/libs/gl-sdk-android/gradle.properties b/libs/gl-sdk-android/gradle.properties index 34ff51f0..238a23b8 100644 --- a/libs/gl-sdk-android/gradle.properties +++ b/libs/gl-sdk-android/gradle.properties @@ -26,5 +26,7 @@ kotlinx.atomicfu.enableJvmIrTransformation=true kotlinx.atomicfu.enableNativeIrTransformation=true kotlin.mpp.enableCInteropCommonization=true +android.builtInKotlin=false +android.newDsl=false libraryVersion=0.1.2 diff --git a/libs/gl-sdk-android/gradle/libs.versions.toml b/libs/gl-sdk-android/gradle/libs.versions.toml index 841d2c1d..47d18470 100644 --- a/libs/gl-sdk-android/gradle/libs.versions.toml +++ b/libs/gl-sdk-android/gradle/libs.versions.toml @@ -3,14 +3,14 @@ annotation = "1.9.1" kotlin = "2.2.21" kotlinx-serialization = "1.9.0" kotlinx-coroutines = "1.10.2" -android-gradle-plugin = "8.13.2" -okio = "3.16.0" +android-gradle-plugin = "9.0.0" +okio = "3.16.4" espresso = "3.7.0" jna = "5.18.1" junit = "4.13.2" junit-ext = "1.3.0" -maven-publish = "0.35.0" -atomicfu = "0.29.0" +maven-publish = "0.36.0" +atomicfu = "0.31.0" [libraries] annotation = { module = "androidx.annotation:annotation", version.ref = "annotation" } diff --git a/libs/gl-sdk-android/gradle/wrapper/gradle-wrapper.properties b/libs/gl-sdk-android/gradle/wrapper/gradle-wrapper.properties index d89ffb1a..23449a2b 100644 --- a/libs/gl-sdk-android/gradle/wrapper/gradle-wrapper.properties +++ b/libs/gl-sdk-android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ -#Fri Jan 19 10:34:57 EET 2024 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-9.0.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-9.2.1-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/libs/gl-sdk-android/lib/build.gradle.kts b/libs/gl-sdk-android/lib/build.gradle.kts index e86a0b24..29c04f73 100644 --- a/libs/gl-sdk-android/lib/build.gradle.kts +++ b/libs/gl-sdk-android/lib/build.gradle.kts @@ -17,9 +17,7 @@ kotlin { compilerOptions { jvmTarget.set(JvmTarget.JVM_1_8) } } - /* jvm() - */ val xcf = XCFramework() @@ -39,7 +37,6 @@ kotlin { else -> error("Unsupported target $name") } - it.compilations["main"].cinterops { create("glsdkCInterop") { defFile(project.file("src/nativeInterop/cinterop/glsdk.def")) @@ -69,11 +66,9 @@ kotlin { artifact { type = "aar" } } } - /* jvmMain.dependencies { implementation(libs.jna) } - */ androidUnitTest.dependencies { implementation(libs.junit) } @@ -82,11 +77,10 @@ kotlin { implementation(libs.espresso.core) } } - } android { - namespace = "com.blockstream.glsdk_bindings" + namespace = "com.blockstream.glsdk" compileSdk = 36 defaultConfig { @@ -96,15 +90,6 @@ android { consumerProguardFiles("consumer-rules.pro") } - buildTypes { - release { - isMinifyEnabled = true - proguardFiles( - getDefaultProguardFile("proguard-android-optimize.txt"), - "proguard-rules.pro" - ) - } - } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 diff --git a/libs/gl-sdk-android/lib/consumer-rules.pro b/libs/gl-sdk-android/lib/consumer-rules.pro new file mode 100644 index 00000000..bbfe9bdc --- /dev/null +++ b/libs/gl-sdk-android/lib/consumer-rules.pro @@ -0,0 +1,6 @@ +-dontwarn java.awt.* +-keep class com.sun.jna.* { *; } +-keep class com.blockstream.glsdk.** { *; } +-keepclassmembers class * extends com.sun.jna.* { public *; } +-keepclassmembers class * extends com.blockstream.glsdk.** { public *; } +-dontwarn java.lang.invoke.StringConcatFactory diff --git a/libs/gl-sdk-android/settings.gradle.kts b/libs/gl-sdk-android/settings.gradle.kts index cf3b87d5..f5fb621e 100644 --- a/libs/gl-sdk-android/settings.gradle.kts +++ b/libs/gl-sdk-android/settings.gradle.kts @@ -13,5 +13,5 @@ dependencyResolutionManagement { } } -rootProject.name = "glsdk" +rootProject.name = "glsdk_kmp_bindings" include(":lib") \ No newline at end of file