Skip to content

Multiplatform

Okio is a Kotlin Multiplatform project. We’re still completing our feature coverage.

Compression (Deflater, Inflater, Gzip)

JVM-only.

Concurrency (Pipe, Timeouts, Throttler)

JVM-only.

Timeout is on all platforms, but only the JVM has a useful implementation.

Core (Buffer, ByteString, Source, Sink)

Available on all platforms.

File System

Available on all platforms. For JavaScript this requires Node.js.

Hashing

Okio includes Kotlin implementations of MD5, SHA-1, SHA-256, and SHA-512. This includes both hash functions and HMAC functions.

Okio uses the built-in implementations of these functions on the JVM.

Gradle configuration

// build.gradle.kts
kotlin {
    sourceSets {
        val okioVersion = "3.XXX"
        val commonMain by getting {
            dependencies {
                implementation("com.squareup.okio:okio:$okioVersion")
            }
        }
        val jsMain by getting {
            dependencies {
                implementation("com.squareup.okio:okio-nodefilesystem:$okioVersion")
            }
        }
        val commonTest by getting {
            dependencies {
                implementation("com.squareup.okio:okio-fakefilesystem:$okioVersion")
            }
        }
    }
}