build.gradle.kts 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. plugins {
  2. id("com.android.application")
  3. id("org.jetbrains.kotlin.android")
  4. id("org.jetbrains.kotlin.plugin.compose")
  5. }
  6. android {
  7. namespace = "com.joe.camera.webcam"
  8. compileSdk = 35
  9. defaultConfig {
  10. applicationId = "com.joe.camera.webcam"
  11. minSdk = 24
  12. targetSdk = 35
  13. versionCode = 1
  14. versionName = "1.0.0"
  15. testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
  16. vectorDrawables.useSupportLibrary = true
  17. }
  18. buildFeatures {
  19. compose = true
  20. aidl = true
  21. buildConfig = true
  22. }
  23. compileOptions {
  24. sourceCompatibility = JavaVersion.VERSION_17
  25. targetCompatibility = JavaVersion.VERSION_17
  26. }
  27. kotlinOptions { jvmTarget = "17" }
  28. buildTypes {
  29. release {
  30. isMinifyEnabled = true
  31. isShrinkResources = true
  32. proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
  33. }
  34. }
  35. packaging.resources.excludes += "/META-INF/{AL2.0,LGPL2.1}"
  36. }
  37. dependencies {
  38. val composeBom = platform("androidx.compose:compose-bom:2024.12.01")
  39. implementation(composeBom)
  40. androidTestImplementation(composeBom)
  41. implementation("androidx.core:core-ktx:1.15.0")
  42. implementation("androidx.activity:activity-compose:1.10.0")
  43. implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.7")
  44. implementation("androidx.lifecycle:lifecycle-runtime-compose:2.8.7")
  45. implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7")
  46. implementation("androidx.navigation:navigation-compose:2.8.5")
  47. implementation("androidx.compose.ui:ui")
  48. implementation("androidx.compose.ui:ui-tooling-preview")
  49. implementation("androidx.compose.material3:material3")
  50. implementation("androidx.compose.material:material-icons-extended")
  51. debugImplementation("androidx.compose.ui:ui-tooling")
  52. val cameraX = "1.4.1"
  53. implementation("androidx.camera:camera-core:$cameraX")
  54. implementation("androidx.camera:camera-camera2:$cameraX")
  55. implementation("androidx.camera:camera-lifecycle:$cameraX")
  56. implementation("androidx.camera:camera-video:$cameraX")
  57. implementation("androidx.camera:camera-view:$cameraX")
  58. implementation("androidx.media3:media3-exoplayer:1.5.1")
  59. implementation("androidx.media3:media3-ui:1.5.1")
  60. implementation("io.coil-kt:coil-compose:2.7.0")
  61. implementation("io.coil-kt:coil-video:2.7.0")
  62. implementation("dev.rikka.shizuku:api:13.1.5")
  63. implementation("dev.rikka.shizuku:provider:13.1.5")
  64. testImplementation("junit:junit:4.13.2")
  65. testImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0")
  66. androidTestImplementation("androidx.test.ext:junit:1.2.1")
  67. androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1")
  68. androidTestImplementation("androidx.compose.ui:ui-test-junit4")
  69. debugImplementation("androidx.compose.ui:ui-test-manifest")
  70. }