- check your system with KDoctor
- install JDK 17 on your machine
- add
local.properties
file to the project root and set a path to Android SDK there
To run the application on android device/emulator:
- open project in Android Studio and run imported android run configuration
To build the application bundle:
- run
./gradlew :composeApp:assembleDebug
- find
.apk
file incomposeApp/build/outputs/apk/debug/composeApp-debug.apk
Run the desktop application: ./gradlew :composeApp:run
To run the application on iPhone device/simulator:
- Open
iosApp/iosApp.xcproject
in Xcode and run standard configuration - Or use Kotlin Multiplatform Mobile plugin for Android Studio
Run the browser application: ./gradlew :composeApp:jsBrowserDevelopmentRun
Kotlin Multiplatform Library
- Registering a Sonatype account as described here: https://dev.to/kotlin/how-to-build-and-publish-a-kotlin-multiplatform-library-going-public-4a8k
- Add developer id, name, email and the project url to
/convention-plugins/src/main/kotlin/convention.publication.gradle.kts
- Add the secrets to
local.properties
:
signing.keyId=...
signing.password=...
signing.secretKeyRingFile=...
ossrhUsername=...
ossrhPassword=...
- Run
./gradlew :FrameSeekBar:publishAllPublicationsToSonatypeRepository
- Run
./gradlew :FrameSeekBar:assembleRelease
- Output:
/templateLibrary/build/outputs/aar/templateLibrary-release.aar
- Run
./gradlew :FrameSeekBar:jvmJar
- Output:
/templateLibrary/build/libs/templateLibrary-jvm-1.0.jar
- Run
./gradlew :FrameSeekBar:linkReleaseFrameworkIosArm64
- Output:
/templateLibrary/build/bin/iosArm64/releaseFramework/templateLibrary.framework
- Run
./gradlew :FrameSeekBar:jsBrowserProductionWebpack
- Output:
/templateLibrary/build/dist/js/productionExecutable/templateLibrary.js