import com.google.protobuf.gradle.* plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.kotlin.compose) alias(libs.plugins.protobuf) } android { namespace = "com.projects.httpsserverapp" compileSdk = 36 defaultConfig { applicationId = "com.projects.httpsserverapp" minSdk = 24 targetSdk = 36 versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } buildFeatures { compose = true } } kotlin { compilerOptions { jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17) } } protobuf { protoc { artifact = "com.google.protobuf:protoc:4.33.2" } plugins { id("grpc") { artifact = "io.grpc:protoc-gen-grpc-java:1.77.0" } id("grpckt") { artifact = "io.grpc:protoc-gen-grpc-kotlin:1.5.0:jdk8@jar" } } generateProtoTasks { all().forEach { task -> task.plugins { id("grpc") id("grpckt") } task.builtins { id("java") {} id("kotlin") {} } } } } dependencies { implementation(libs.androidx.core.ktx) implementation(libs.androidx.lifecycle.runtime.ktx) implementation(libs.androidx.activity.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.okhttp.tls) implementation(libs.grpc.grpc.okhttp) // Android transport implementation(libs.grpc.grpc.stub) // Java stub (обязателен) implementation(libs.grpc.grpc.kotlin.stub) // Kotlin coroutine stub implementation(libs.grpc.protobuf) // protobuf (lite) implementation(libs.javax.annotation.api) implementation(libs.protobuf.java) implementation(libs.protobuf.kotlin) implementation(libs.androidx.multidex) implementation(libs.kotlinx.coroutines.core) implementation(libs.kotlinx.coroutines.android) testImplementation(libs.junit) androidTestImplementation(libs.androidx.junit) androidTestImplementation(libs.androidx.espresso.core) androidTestImplementation(platform(libs.androidx.compose.bom)) androidTestImplementation(libs.androidx.compose.ui.test.junit4) debugImplementation(libs.androidx.compose.ui.tooling) debugImplementation(libs.androidx.compose.ui.test.manifest) }