Join Slack
How to reference items from “<android.app>” and “android.util” (like Application or Log) in SharedC...
# multiplatform
e
eloew
10/19/2019, 11:33 AM
How to reference items from “
android.app
” and “android.util” (like Application or Log) in SharedCode/androidMain?
r
russhwolf
10/19/2019, 11:49 PM
How are you configuring it? Make sure you use an
android
target and not a
jvm
one.
e
eloew
10/20/2019, 9:33 AM
Think I using an android target. My Shared code build.gradle looks like this:
eloew
10/20/2019, 9:33 AM
"'apply plugin: 'kotlin-multiplatform' apply plugin: 'kotlinx-serialization' apply plugin: 'com.squareup.sqldelight' kotlin { targets { //final def iOSTarget = System.getenv('SDK_NAME')?.startsWith("iphoneos") ? presets.iosArm64 : presets.iosX64 /* // iPhone simulator : presets.iosX64 // real iDevice 32 bit : presets.iosArm32 // real iDevice 64 bit : presets.iosArm64 */ //def iOSTarget = presets.iosArm64 //Device def iOSTarget = presets.iosX64 //Simulator fromPreset(iOSTarget, 'iOS') { binaries { framework('SharedCode') } } fromPreset(presets.jvm, 'android') } sourceSets { commonMain.dependencies { api 'org.jetbrains.kotlin:kotlin-stdlib-common' implementation "org.jetbrains.kotlinx
kotlinx coroutines core common
$coroutines_version" implementation "org.jetbrains.kotlinx
kotlinx serialization runtime common
$serialization_version" implementation "io.ktor
ktor client core
$ktor_version" implementation "io.ktor
ktor client json
$ktor_version" implementation "io.ktor
ktor client mock
$ktor_version" implementation "io.ktor
ktor client serialization
$ktor_version" implementation "com.squareup.sqldelight
runtime
$sqldelight_version" implementation "co.touchlab
stately
0.9.3" implementation "co.touchlab
stately collections
0.9.3" implementation "com.russhwolf
multiplatform settings
$multiplatformSettings" } androidMain.dependencies { api 'org.jetbrains.kotlin:kotlin-stdlib' implementation "org.jetbrains.kotlinx
kotlinx coroutines core
$coroutines_version" implementation "org.jetbrains.kotlinx
kotlinx serialization runtime
$serialization_version" implementation "io.ktor
ktor client core jvm
$ktor_version" implementation "io.ktor
ktor client json jvm
$ktor_version" implementation "io.ktor
ktor client android
$ktor_version" implementation "io.ktor
ktor client okhttp
$ktor_version" implementation "io.ktor
ktor client mock jvm
$ktor_version" implementation "io.ktor
ktor client serialization jvm
$ktor_version" implementation "com.squareup.sqldelight
runtime jvm
$sqldelight_version" } iOSMain.dependencies { implementation "org.jetbrains.kotlinx
kotlinx coroutines core native
$coroutines_version" implementation "org.jetbrains.kotlinx
kotlinx serialization runtime native
$serialization_version" implementation "io.ktor
ktor client ios
$ktor_version" implementation "io.ktor
ktor client core native
$ktor_version" implementation "io.ktor
ktor client json native
$ktor_version" implementation "io.ktor
ktor client serialization native
$ktor_version" api "io.ktor
ktor client mock native
$ktor_version" implementation "com.squareup.sqldelight
ios driver
$sqldelight_version" } } } sqldelight { ChoreNinjaDb { packageName = "com.erl.choreninja.db" } } task packForXCode(type: Sync) { final File frameworkDir = new File(buildDir, "xcode-frameworks") final String mode = project.findProperty("XCODE_CONFIGURATION")?.toUpperCase() ?: 'DEBUG' final def framework = kotlin.targets.iOS.binaries.getFramework("SharedCode", mode) inputs.property "mode", mode dependsOn framework.linkTask from { framework.outputFile.parentFile } into frameworkDir doLast { new File(frameworkDir, 'gradlew').with { text = "#!/bin/bash\nexport 'JAVA_HOME=${System.getProperty("java.home")}'\ncd '${rootProject.rootDir}'\n./gradlew \$@\n" setExecutable(true) } } } tasks.build.dependsOn packForXCode'"
eloew
10/20/2019, 12:26 PM
Think I understand, use android {...} target in SharedCode build.gradle
8
Views
Open in Slack
Previous
Next
kotlinlang
A modern programming language that makes developers happier.
Powered by