build.gradle 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. plugins {
  2. alias(libs.plugins.android.application)
  3. alias(libs.plugins.kotlin.android)
  4. }
  5. android {
  6. namespace 'xn.hxp'
  7. compileSdk 35
  8. defaultConfig {
  9. applicationId "xn.hxp"
  10. minSdk 24
  11. //noinspection ExpiredTargetSdkVersion,OldTargetApi
  12. targetSdk 28
  13. versionCode 1
  14. versionName "1.10"
  15. testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
  16. multiDexEnabled = true
  17. ndk {
  18. abiFilters "armeabi-v7a"/*, "arm64-v8a", "x86"*/
  19. }
  20. }
  21. sourceSets {
  22. main {
  23. jniLibs.srcDirs = ['libs']
  24. }
  25. }
  26. buildTypes {
  27. release {
  28. minifyEnabled false
  29. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
  30. }
  31. }
  32. compileOptions {
  33. sourceCompatibility JavaVersion.VERSION_17
  34. targetCompatibility JavaVersion.VERSION_17
  35. }
  36. kotlinOptions {
  37. jvmTarget = '17'
  38. }
  39. buildFeatures {
  40. viewBinding = true
  41. }
  42. applicationVariants.configureEach { variant ->
  43. variant.outputs.configureEach { output ->
  44. def formattedDate = new Date().format('yyyyMMddHHmm')
  45. outputFileName = "xn_hxp_${variant.versionName}_${formattedDate}.apk"
  46. }
  47. }
  48. }
  49. dependencies {
  50. implementation fileTree(dir: 'libs', include: ['*.aar'])
  51. implementation fileTree(dir: 'libs', include: ['*.jar'])
  52. implementation project(':serialport')
  53. implementation libs.androidx.core.ktx
  54. implementation libs.appcompat
  55. implementation libs.material
  56. implementation libs.activity
  57. implementation libs.constraintlayout
  58. testImplementation libs.junit
  59. androidTestImplementation libs.ext.junit
  60. androidTestImplementation libs.espresso.core
  61. //noinspection UseTomlInstead
  62. implementation 'com.github.jenly1314:zxing-lite:3.2.0'
  63. //noinspection UseTomlInstead
  64. implementation 'io.fotoapparat:fotoapparat:2.7.0'
  65. //noinspection UseTomlInstead
  66. implementation 'com.airbnb.android:lottie:6.6.2'
  67. //noinspection UseTomlInstead
  68. implementation "io.github.cymchad:BaseRecyclerViewAdapterHelper:3.0.14"
  69. //noinspection UseTomlInstead
  70. implementation 'org.greenrobot:eventbus:3.3.1'
  71. //noinspection UseTomlInstead
  72. implementation 'com.blankj:utilcodex:1.31.1'
  73. //noinspection UseTomlInstead
  74. implementation 'com.github.bumptech.glide:glide:4.16.0'
  75. def retrofit = "2.11.0"
  76. //noinspection UseTomlInstead
  77. implementation("com.squareup.retrofit2:retrofit:${retrofit}") // 最新稳定版本
  78. // Gson 转换器 (用于 JSON) - 你很可能需要这个 noinspection UseTomlInstead
  79. implementation("com.squareup.retrofit2:converter-gson:${retrofit}") // 与 Retrofit 相同的版本
  80. // RxJava 3 Retrofit 适配器 noinspection UseTomlInstead
  81. implementation("com.squareup.retrofit2:adapter-rxjava3:${retrofit}") // 与 Retrofit 相同的版本
  82. def okhttp = "4.12.0"
  83. //noinspection UseTomlInstead
  84. implementation("com.squareup.okhttp3:okhttp:${okhttp}") // 最新稳定版本
  85. // OkHttp 日志拦截器 (用于调试) - 强烈推荐 noinspection UseTomlInstead
  86. implementation("com.squareup.okhttp3:logging-interceptor:${okhttp}") // 与 OkHttp 相同的版本
  87. // RxJava 3 noinspection GradleDependency,UseTomlInstead
  88. implementation("io.reactivex.rxjava3:rxjava:3.1.8") // 最新稳定版本
  89. //noinspection UseTomlInstead
  90. implementation("io.reactivex.rxjava3:rxandroid:3.0.2") // 最新稳定版本
  91. // Gson noinspection UseTomlInstead
  92. implementation("com.google.code.gson:gson:2.12.1") // 最新稳定版本
  93. //noinspection UseTomlInstead
  94. implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.1.0")
  95. //noinspection UseTomlInstead
  96. implementation 'com.github.codbking:PickTime:v1.0.1'
  97. //noinspection UseTomlInstead
  98. implementation "com.kongzue.dialogx:DialogX:0.0.49"
  99. //noinspection UseTomlInstead
  100. implementation 'com.github.getActivity:XXPermissions:20.0'
  101. //noinspection UseTomlInstead
  102. implementation "androidx.multidex:multidex:2.0.1"
  103. def room_version = "2.6.1"
  104. //noinspection UseTomlInstead
  105. implementation "androidx.room:room-runtime:$room_version"
  106. // If this project uses any Kotlin source, use Kotlin Symbol Processing (KSP)
  107. // See KSP Quickstart to add KSP to your build
  108. // ksp "androidx.room:room-compiler:$room_version"
  109. // If this project only uses Java source, use the Java annotationProcessor
  110. // No additional plugins are necessary
  111. annotationProcessor "androidx.room:room-compiler:$room_version"
  112. def camerax_version = "1.0.0"
  113. implementation "androidx.camera:camera-core:${camerax_version}"
  114. implementation "androidx.camera:camera-camera2:${camerax_version}"
  115. implementation "androidx.camera:camera-lifecycle:${camerax_version}"
  116. implementation "androidx.camera:camera-view:1.0.0-alpha28"
  117. implementation "androidx.camera:camera-extensions:1.0.0-alpha28"
  118. implementation 'com.google.mlkit:face-detection:16.0.0'
  119. implementation 'com.github.kongzue.DialogXSample:DatePicker:0.0.14'
  120. implementation 'com.github.Jasonchenlijian:FastBle:2.4.0'
  121. implementation 'com.google.android.flexbox:flexbox:3.0.0'
  122. implementation 'com.github.anrwatchdog:anrwatchdog:1.4.0'
  123. }