build.gradle 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. plugins {
  2. id 'com.android.application'
  3. id 'dagger.hilt.android.plugin'
  4. id 'stringfog'
  5. }
  6. android {
  7. namespace 'com.atmob.voiceai'
  8. compileSdk rootProject.compileSdkVersion
  9. defaultConfig {
  10. applicationId rootProject.applicationId
  11. minSdk rootProject.minSdkVersion
  12. targetSdk rootProject.targetSdkVersion
  13. versionCode rootProject.versionCode
  14. versionName rootProject.versionName
  15. ndk {
  16. //noinspection ChromeOsAbiSupport
  17. abiFilters "arm64-v8a"
  18. }
  19. }
  20. signingConfigs {
  21. debug {
  22. storeFile file("keystore/voiceAI.jks")
  23. storePassword "voice888"
  24. keyAlias "voice"
  25. keyPassword "voice888"
  26. }
  27. release {
  28. storeFile file("keystore/voiceAI.jks")
  29. storePassword "voice888"
  30. keyAlias "voice"
  31. keyPassword "voice888"
  32. }
  33. }
  34. buildTypes {
  35. release {
  36. minifyEnabled true
  37. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
  38. signingConfig signingConfigs.release
  39. buildConfigField "boolean", "isLocalNetwork", "false"
  40. buildConfigField "String", "HOST", "\"$prod_host\""
  41. }
  42. debug {
  43. minifyEnabled false
  44. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
  45. signingConfig signingConfigs.debug
  46. buildConfigField "boolean", "isLocalNetwork", "true"
  47. buildConfigField "String", "HOST", "\"$test_host\""
  48. }
  49. }
  50. compileOptions {
  51. sourceCompatibility JavaVersion.VERSION_1_8
  52. targetCompatibility JavaVersion.VERSION_1_8
  53. }
  54. buildFeatures {
  55. viewBinding true
  56. dataBinding true
  57. }
  58. applicationVariants.configureEach { variant ->
  59. def date = new Date().format("YYMMddHHmmss")
  60. variant.outputs.configureEach {
  61. def fileName = "${defaultConfig.applicationId}" +
  62. "-v${defaultConfig.versionName}" +
  63. "-${variant.buildType.name}" +
  64. "-${date}" +
  65. ".apk"
  66. outputFileName = fileName
  67. }
  68. }
  69. sourceSets {
  70. main { jniLibs.srcDirs = ['libs'] }
  71. }
  72. configurations.configureEach {
  73. resolutionStrategy {
  74. // don't cache changing modules at all
  75. cacheChangingModulesFor 10, 'seconds'
  76. }
  77. }
  78. }
  79. import com.github.megatronking.stringfog.plugin.kg.RandomKeyGenerator
  80. stringfog {
  81. implementation 'com.github.megatronking.stringfog.xor.StringFogImpl'
  82. fogPackages = ['com.atmob.voiceai']
  83. debug false
  84. enable true
  85. kg new RandomKeyGenerator()
  86. mode base64
  87. }
  88. dependencies {
  89. //jar or aar
  90. implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
  91. //Atmob SDK
  92. implementation 'extra.common:base:1.0.0-SNAPSHOT'
  93. implementation "extra.pack:channel:1.1.0-SNAPSHOT"
  94. implementation "extra.common:core:2.0.3-SNAPSHOT" //base utils
  95. implementation "extra.common:network:1.1.0-SNAPSHOT"
  96. implementation "extra.common:rxjava:1.1.0-SNAPSHOT"
  97. implementation "extra.common:user:1.0.1-SNAPSHOT" //get user data(includes device info)
  98. implementation("plus.pay:pay:1.1.0-SNAPSHOT") {
  99. exclude group: 'third.pay', module: 'ali'
  100. }
  101. api 'com.alipay.sdk:alipaysdk-android:15.8.16@aar'
  102. //oaid
  103. implementation "extra.common:oaid:1.1.0-SNAPSHOT"
  104. //AppCompat
  105. implementation "androidx.appcompat:appcompat:$rootProject.appcompat_version"
  106. //Material
  107. implementation "com.google.android.material:material:$rootProject.material_version"
  108. //RecyclerView
  109. implementation "androidx.recyclerview:recyclerview:$rootProject.recyclerview_version"
  110. //ConstraintLayout
  111. implementation "androidx.constraintlayout:constraintlayout:$rootProject.constraintlayout_version"
  112. //Gson
  113. implementation "com.google.code.gson:gson:$rootProject.gson_version"
  114. //Lifecycle
  115. implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$rootProject.lifecycle_version"
  116. implementation "androidx.lifecycle:lifecycle-livedata:$rootProject.lifecycle_version"
  117. implementation "androidx.lifecycle:lifecycle-reactivestreams:$rootProject.lifecycle_version"
  118. implementation "androidx.lifecycle:lifecycle-process:$rootProject.lifecycle_version"
  119. //Hilt
  120. implementation "com.google.dagger:hilt-android:$rootProject.hilt_version"
  121. annotationProcessor "com.google.dagger:hilt-compiler:$rootProject.hilt_version"
  122. //Glide
  123. implementation "com.github.bumptech.glide:glide:$rootProject.glide_version"
  124. annotationProcessor "com.github.bumptech.glide:compiler:$rootProject.glide_version"
  125. //MMKV
  126. implementation "com.tencent:mmkv:$rootProject.mmkv_version"
  127. //immersionbar
  128. implementation "com.gyf.immersionbar:immersionbar:$rootProject.immersionbar_version"
  129. implementation "com.gyf.immersionbar:immersionbar-components:$rootProject.immersionbar_version"
  130. //字符串加密算法
  131. implementation "com.github.megatronking.stringfog:xor:$rootProject.stringfog_version"
  132. //音频播放
  133. implementation "androidx.media3:media3-exoplayer:$rootProject.media3_version"
  134. //VapPlayer 动效
  135. implementation "io.github.tencent:vap:2.0.28"
  136. //lottie
  137. implementation "com.airbnb.android:lottie:$rootProject.lottie_version"
  138. }