Skip to main content
Docs

Configure the SDK

Initialize Clerk once at app launch in your Application class before accessing any Clerk features.

Basic configuration

app/src/main/java/com/example/myclerkapp/MyClerkApp.kt
  package com.example.myclerkapp

  import android.app.Application
  import com.clerk.api.Clerk

  class MyClerkApp: Application() {
      override fun onCreate() {
        super.onCreate()
        Clerk.initialize(
            this,
            publishableKey = "YOUR_PUBLISHABLE_KEY"
        )
      }
  }

Register your Application class in AndroidManifest.xml:

<application android:name=".MyClerkApp">
    ...
</application>

Wait for initialization

The Clerk SDK initialization is non-blocking. Listen for the SDK to be ready before using Clerk features:

import com.clerk.api.Clerk
import kotlinx.coroutines.flow.first

// Wait for initialization
Clerk.isInitialized.first { it }

// Now safe to use Clerk
val user = Clerk.userFlow.value

Clerk

Learn how to access Clerk in your app.

Android Quickstart

Follow the end-to-end setup guide for a Clerk-powered Android app.

Feedback

What did you think of this content?

Last updated on

GitHubEdit on GitHub