plugins { alias(libs.plugins.android.application) alias(libs.plugins.compose.compiler) } android { namespace = "com.lazy.emulate" compileSdk = 36 defaultConfig { applicationId = "com.lazy.emulate" minSdk = 30 targetSdk = 36 versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" ndk { abiFilters += listOf("arm64-v8a") } } externalNativeBuild { cmake { path = file("src/main/cpp/CMakeLists.txt") version = "3.22.1+" } } buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } buildFeatures { compose = true } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlin { jvmToolchain(17) } } dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.appcompat) // Compose implementation(platform(libs.compose.bom)) implementation(libs.compose.ui) implementation(libs.compose.ui.graphics) implementation(libs.compose.ui.tooling.preview) implementation(libs.compose.material3) implementation(libs.compose.material.icons) implementation(libs.activity.compose) implementation(libs.navigation.compose) debugImplementation(libs.compose.ui.tooling) // Lifecycle implementation(libs.lifecycle.runtime.compose) implementation(libs.lifecycle.viewmodel.compose) // Window Size Classes implementation(libs.material3.wsc) // Coroutines implementation(libs.coroutines.android) // DataStore implementation(libs.datastore.prefs) // Image loading implementation(libs.coil.compose) // USB serial (ESP32 Joy-Con bridge) implementation(libs.usb.serial) // Testing testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) }