build.gradle.kts (2411B) - raw


      1 import com.android.build.gradle.internal.api.BaseVariantOutputImpl
      2 
      3 plugins {
      4     alias(libs.plugins.androidApplication)
      5     alias(libs.plugins.kotlinAndroid)
      6     alias(libs.plugins.compose.compiler)
      7     id("kotlin-parcelize")
      8 }
      9 
     10 android {
     11     namespace = rootProject.ext["applicationId"].toString() + ".manager"
     12     compileSdk = 34
     13 
     14     androidResources {
     15         noCompress += ".so"
     16     }
     17 
     18     buildFeatures {
     19         compose = true
     20         buildConfig = true
     21     }
     22 
     23     defaultConfig {
     24         buildConfigField("String", "APPLICATION_ID", "\"${rootProject.ext["applicationId"]}\"")
     25         applicationId = rootProject.ext["applicationId"].toString() + ".manager"
     26         versionCode = 1
     27         versionName = "1.0.0"
     28         minSdk = 28
     29         targetSdk = 34
     30         multiDexEnabled = true
     31     }
     32 
     33     buildTypes {
     34         release {
     35             isMinifyEnabled = true
     36             proguardFiles += file("proguard-rules.pro")
     37         }
     38         debug {
     39             (properties["debug_flavor"] == null).also {
     40                 isDebuggable = !it
     41                 isMinifyEnabled = it
     42                 isShrinkResources = it
     43             }
     44             proguardFiles += file("proguard-rules.pro")
     45         }
     46     }
     47 
     48     applicationVariants.all {
     49         outputs.map { it as BaseVariantOutputImpl }.forEach { outputVariant ->
     50             outputVariant.outputFileName = "manager.apk"
     51         }
     52     }
     53 
     54     compileOptions {
     55         sourceCompatibility = JavaVersion.VERSION_21
     56         targetCompatibility = JavaVersion.VERSION_21
     57     }
     58 
     59     kotlinOptions {
     60         jvmTarget = "21"
     61     }
     62 }
     63 
     64 configurations {
     65     all {
     66         resolutionStrategy {
     67             exclude(group = "com.google.guava", module = "listenablefuture")
     68         }
     69     }
     70 }
     71 
     72 dependencies {
     73     implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar"))))
     74     implementation(libs.libsu)
     75     implementation(libs.guava)
     76     implementation(libs.apksig)
     77     implementation(libs.dexlib2)
     78     implementation(libs.gson)
     79     implementation(libs.jsoup)
     80     implementation(libs.okhttp)
     81     implementation(platform(libs.androidx.compose.bom))
     82     implementation(libs.androidx.material3)
     83     implementation(libs.androidx.activity.ktx)
     84     implementation(libs.androidx.navigation.compose)
     85     implementation(libs.androidx.material.icons.core)
     86     implementation(libs.androidx.material.ripple)
     87     implementation(libs.androidx.material.icons.extended)
     88 }