The ios pod framework is working fine but the andr...
# multiplatform
r
The ios pod framework is working fine but the android archive is missing classes of ktor and sqldelight. Seems like android code shrinking is intervening or the android source set dependencies have not been imported correctly. What am I missing here (gradle script in this thread)?
Copy code
import com.android.build.gradle.internal.scope.ProjectInfo.Companion.getBaseName

plugins {
    kotlin("multiplatform")
    kotlin("native.cocoapods")
    id("com.android.library")
    kotlin("plugin.serialization") version "1.9.0"
    id("app.cash.sqldelight") version "2.0.0-rc02"
}

version = "1.0.11"
extra["version"] = version

kotlin {
    androidTarget {
        publishAllLibraryVariants()
    }
    iosX64()
    iosArm64()
    iosSimulatorArm64()

    cocoapods {
        summary = "Some description for the Shared Module"
        homepage = "<https://github.com/VDBAPP/kmm-iOS-pod-library.git>"
        ios.deploymentTarget = "13.0"
        framework {
            baseName = "multiplatform"
        }
        name = getBaseName()
        authors = "vdb"
        license = "Proprietary"
    }

    val coroutinesVersion = "1.7.1"
    val ktorVersion = "2.3.2"
    val dateTimeVersion = "0.4.0"
    
    sourceSets {
        val commonMain by getting {
            dependencies {
                implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutinesVersion")
                implementation("io.ktor:ktor-client-core:$ktorVersion")
                implementation("io.ktor:ktor-client-content-negotiation:$ktorVersion")
                implementation("io.ktor:ktor-serialization-kotlinx-json:$ktorVersion")
                implementation("org.jetbrains.kotlinx:kotlinx-datetime:$dateTimeVersion")
            }
        }
        val commonTest by getting {
            dependencies {
                implementation(kotlin("test"))
            }
        }
        val androidMain by getting {
            dependencies {
                implementation("io.ktor:ktor-client-android:$ktorVersion")
                implementation("app.cash.sqldelight:android-driver:2.0.0-rc02")
            }
        }
        val androidUnitTest by getting
        val iosX64Main by getting
        val iosArm64Main by getting
        val iosSimulatorArm64Main by getting
        val iosMain by creating {
            dependsOn(commonMain)
            iosX64Main.dependsOn(this)
            iosArm64Main.dependsOn(this)
            iosSimulatorArm64Main.dependsOn(this)
            dependencies {
                implementation("io.ktor:ktor-client-darwin:$ktorVersion")
                implementation("app.cash.sqldelight:native-driver:2.0.0-rc02")
            }
        }
        val iosX64Test by getting
        val iosArm64Test by getting
        val iosSimulatorArm64Test by getting
        val iosTest by creating {
            dependsOn(commonTest)
            iosX64Test.dependsOn(this)
            iosArm64Test.dependsOn(this)
            iosSimulatorArm64Test.dependsOn(this)
        }
    }
}

android {
    compileSdk = 32
    sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
    defaultConfig {
        minSdk = 21
        targetSdk = 32
    }
}

sqldelight {
    databases {
        create("AppDatabase") {
            packageName.set("sqldelight.database")
        }
    }
}

apply(from = "pushIOSFrameworkOnGithub.gradle.kts")
apply(from = "pushAndroidArchiveOnGithub.gradle.kts")