build.gradle 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. plugins {
  2. alias(libs.plugins.androidApplication)
  3. alias(libs.plugins.jetbrainsKotlinAndroid)
  4. id 'kotlin-kapt'
  5. id 'com.google.dagger.hilt.android'
  6. id 'org.jetbrains.kotlin.plugin.serialization'
  7. }
  8. android {
  9. namespace 'com.example.modifier'
  10. compileSdk 34
  11. useLibrary 'org.apache.http.legacy'
  12. buildFeatures {
  13. buildConfig = true
  14. compose = true
  15. }
  16. composeOptions {
  17. kotlinCompilerExtensionVersion = "1.5.14"
  18. }
  19. dataBinding {
  20. enabled = true
  21. }
  22. defaultConfig {
  23. applicationId "com.example.modifier"
  24. minSdk 31
  25. targetSdk 34
  26. versionCode 167
  27. versionName "1.0.1"
  28. archivesBaseName = "modifier-${versionCode}"
  29. testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
  30. javaCompileOptions {
  31. annotationProcessorOptions {
  32. arguments["room.schemaLocation"] =
  33. "$projectDir/schemas"
  34. }
  35. }
  36. ndk {
  37. abiFilters 'arm64-v8a', 'armeabi-v7a', 'x86', 'x86_64'
  38. }
  39. }
  40. signingConfigs {
  41. release {
  42. storeFile file('../release.keystore')
  43. storePassword '123456'
  44. keyAlias 'key'
  45. keyPassword '123456'
  46. }
  47. }
  48. buildTypes {
  49. release {
  50. minifyEnabled true
  51. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
  52. signingConfig signingConfigs.release
  53. }
  54. debug {
  55. signingConfig signingConfigs.release
  56. }
  57. }
  58. compileOptions {
  59. sourceCompatibility JavaVersion.VERSION_17
  60. targetCompatibility JavaVersion.VERSION_17
  61. }
  62. kotlinOptions {
  63. jvmTarget = '17'
  64. }
  65. kapt {
  66. correctErrorTypes = true
  67. }
  68. packagingOptions {
  69. jniLibs {
  70. useLegacyPackaging = true
  71. }
  72. }
  73. }
  74. configurations {
  75. configureEach {
  76. exclude module: 'httpclient'
  77. exclude module: 'commons-logging'
  78. }
  79. }
  80. dependencies {
  81. testImplementation libs.junit
  82. androidTestImplementation libs.ext.junit
  83. androidTestImplementation libs.espresso.core
  84. implementation libs.appcompat
  85. implementation libs.material
  86. implementation libs.activity
  87. implementation libs.constraintlayout
  88. implementation libs.navigation.fragment
  89. implementation libs.navigation.fragment.ktx
  90. implementation libs.navigation.ui
  91. implementation libs.annotation
  92. implementation libs.datastore.preferences
  93. implementation libs.core.ktx
  94. implementation libs.lifecycle.livedata.ktx
  95. implementation libs.lifecycle.viewmodel.ktx
  96. implementation libs.lifecycle.runtime.ktx
  97. implementation libs.coroutines.core
  98. implementation libs.coroutines.android
  99. implementation libs.gson
  100. implementation libs.commons.lang3
  101. implementation libs.commons.collections4
  102. implementation libs.commons.io
  103. implementation libs.commons.validator
  104. implementation(libs.socket.io.client) {
  105. exclude group: 'org.json', module: 'json'
  106. }
  107. implementation libs.hilt.android
  108. kapt libs.hilt.android.compiler
  109. implementation libs.kotlin.stdlib.jdk8
  110. implementation libs.ktor.client.core
  111. implementation libs.ktor.client.cio
  112. implementation libs.ktor.client.okhttp
  113. implementation libs.ktor.client.content.negotiation
  114. implementation libs.ktor.client.resources
  115. implementation libs.ktor.client.logging
  116. implementation libs.ktor.serialization.kotlinx.json
  117. implementation libs.kotlinx.serialization.json
  118. implementation(libs.room.runtime)
  119. kapt(libs.room.compiler)
  120. implementation(libs.room.ktx)
  121. implementation(libs.fragment.ktx)
  122. implementation libs.savedstate
  123. def composeBom = libs.androidx.compose.bom
  124. implementation composeBom
  125. androidTestImplementation composeBom
  126. implementation libs.material3
  127. implementation libs.ui.tooling.preview
  128. debugImplementation libs.ui.tooling
  129. implementation libs.androidx.material.icons.core
  130. implementation libs.androidx.material.icons.extended
  131. implementation libs.androidx.material3.window.size
  132. implementation libs.androidx.activity.compose
  133. implementation libs.lifecycle.viewmodel.compose
  134. implementation libs.androidx.runtime.livedata
  135. implementation(libs.navigation.compose)
  136. implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01"
  137. implementation 'com.google.android.gms:play-services-code-scanner:16.1.0'
  138. implementation("com.github.leandroborgesferreira:loading-button-android:2.3.0")
  139. implementation 'com.google.code.gson:gson:2.10.1'
  140. implementation 'org.apache.commons:commons-lang3:3.14.0'
  141. implementation 'commons-io:commons-io:2.16.1'
  142. implementation 'org.slf4j:slf4j-android:1.7.36'
  143. implementation("io.coil-kt.coil3:coil-compose:3.0.2")
  144. implementation("io.coil-kt.coil3:coil-network-ktor2:3.0.2")
  145. }