plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) } android { namespace = "com.gradio.client" compileSdk = 36 defaultConfig { applicationId = "com.gradio.client" minSdk = 26 targetSdk = 36 versionCode = 8 versionName = "1.0.7" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } signingConfigs { create("sideload") { storeFile = file(System.getProperty("user.home") + "/.android/debug.keystore") storePassword = "android" keyAlias = "androiddebugkey" keyPassword = "android" } } buildTypes { release { isMinifyEnabled = false signingConfig = signingConfigs.getByName("sideload") proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_11 targetCompatibility = JavaVersion.VERSION_11 } kotlinOptions { jvmTarget = "11" } buildFeatures { compose = true } packaging { resources { excludes += "/META-INF/{AL2.0,LGPL2.1}" } } } dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.lifecycle.viewmodel.compose) implementation(libs.androidx.activity.compose) implementation(libs.androidx.navigation.compose) implementation(platform(libs.androidx.compose.bom)) implementation(libs.androidx.compose.ui) implementation(libs.androidx.compose.ui.graphics) implementation(libs.androidx.compose.ui.tooling.preview) implementation(libs.androidx.compose.material3) implementation(libs.okhttp) implementation(libs.gson) implementation("androidx.compose.material:material-icons-extended") testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) debugImplementation(libs.androidx.compose.ui.tooling) debugImplementation(libs.androidx.compose.ui.test.manifest) } tasks.register("renameApk") { doLast { val buildType = if (gradle.startParameter.taskNames.any { it.contains("Release") }) "release" else "debug" val originalFile = file("build/outputs/apk/$buildType/app-$buildType.apk") val newFile = file("build/outputs/apk/$buildType/GRadioClient.apk") if (originalFile.exists()) { originalFile.renameTo(newFile) } } } afterEvaluate { tasks.named("assembleDebug").configure { finalizedBy("renameApk") } tasks.named("assembleRelease").configure { finalizedBy("renameApk") } }