[//]: # (title: Setup Kotlin DataFrame on Android) Integrate Kotlin DataFrame into your Android app using the standard JVM dependency and simple Gradle configuration. Set up Kotlin DataFrame in Android — configure it easily using Gradle and start working with structured data. How to use Kotlin DataFrame in your Android project with Gradle setup and compiler plugin support. > See an [Android project example](https://github.com/Kotlin/dataframe/tree/master/examples/android-example). Kotlin DataFrame doesn't provide a dedicated Android artifact yet, but you can add the Kotlin DataFrame JVM dependency to your Android project with minimal configuration: ```kotlin dependencies { // Core Kotlin DataFrame API, CSV and JSON IO. // See custom Gradle setup: // https://kotlin.github.io/dataframe/setupcustomgradle.html implementation("org.jetbrains.kotlinx:dataframe-core:%dataFrameVersion%") implementation("org.jetbrains.kotlinx:dataframe-json:%dataFrameVersion%") implementation("org.jetbrains.kotlinx:dataframe-csv:%dataFrameVersion%") // You can add any additional IO modules you like, except for 'dataframe-arrow'. // Apache Arrow is not supported well on Android. } android { defaultConfig { minSdk = 21 } // Requires Java 8 or higher compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" } } tasks.withType { kotlinOptions.jvmTarget = "1.8" } ``` ```groovy dependencies { // Core Kotlin DataFrame API, CSV and JSON IO. // See custom Gradle setup: // https://kotlin.github.io/dataframe/setupcustomgradle.html implementation 'org.jetbrains.kotlinx:dataframe-core:%dataFrameVersion%' implementation 'org.jetbrains.kotlinx:dataframe-json:%dataFrameVersion%' implementation 'org.jetbrains.kotlinx:dataframe-csv:%dataFrameVersion%' // You can add any additional IO modules you like, except for 'dataframe-arrow'. // Apache Arrow is not supported well on Android. } android { defaultConfig { minSdk 21 } // Requires Java 8 or higher compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" } } tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { kotlinOptions.jvmTarget = "1.8" } ``` This setup adds the [Kotlin DataFrame core](Modules.md#dataframe-core) as well as a subset of the [IO modules](Modules.md#io-modules) (excluding [experimental ones](Modules.md#experimental-modules)). For flexible configuration, see [Custom configuration](SetupCustomGradle.md). ## Kotlin DataFrame Compiler Plugin [Kotlin DataFrame Compiler Plugin](Compiler-Plugin.md) enables automatic generation of [extension properties](extensionPropertiesApi.md) and updates [data schemas](schemas.md) on-the-fly in Android projects, making development with Kotlin DataFrame faster, more convenient, and fully type- and name-safe. > Requires Kotlin 2.2.20-Beta1 or higher. > { style = "note" } To enable the plugin in your Gradle project, add it to the `plugins` section: ```kotlin plugins { kotlin("plugin.dataframe") version "%compilerPluginKotlinVersion%" } ``` ```groovy plugins { id 'org.jetbrains.kotlin.plugin.dataframe' version '%compilerPluginKotlinVersion%' } ``` Due to [this issue](https://youtrack.jetbrains.com/issue/KT-66735), incremental compilation must be disabled for now. Add the following line to your `gradle.properties` file: ```properties kotlin.incremental=false ``` ## Next Steps * Once Kotlin DataFrame is set up in your Android project, continue with the [](quickstart.md) to learn the basics of working with DataFrames. * Explore [detailed guides and real-world examples](Guides-And-Examples.md) to see how Kotlin DataFrame helps in different data tasks. * Check out the [Android project example](https://github.com/Kotlin/dataframe/tree/master/examples/android-example) and more [IDEA examples on GitHub](https://github.com/Kotlin/dataframe/tree/master/examples/idea-examples). * Learn more about the [compiler plugin](Compiler-Plugin.md).