build.gradle 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. import org.json.JSONObject
  2. apply plugin: 'com.android.application'
  3. android {
  4. compileSdkVersion 31
  5. flavorDimensions "baseUrl"
  6. productFlavors {
  7. user1 {//加纳Frpc1
  8. dimension "baseUrl"
  9. buildConfigField "String", "BASE_URL", "\"https://www.ghpcarphone.com\""
  10. buildConfigField "String", "UPDATE_KEY", "\"bfbc2f7f-779a-4719-9295-60eefbb9269f\""
  11. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/userdemo/\""
  12. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  13. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  14. }
  15. user2 {//Frpc2
  16. dimension "baseUrl"
  17. buildConfigField "String", "BASE_URL", "\"https://www.dcduckcake.com\""
  18. buildConfigField "String", "UPDATE_KEY", "\"2be6db19-4be6-45f5-8a93-368ad7cb6405\""
  19. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/userdemo/\""
  20. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  21. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  22. }
  23. user3 {//Frpc3
  24. dimension "baseUrl"
  25. buildConfigField "String", "BASE_URL", "\"https://www.bcblackcoffee.com\""
  26. buildConfigField "String", "UPDATE_KEY", "\"64f225d4-e9a4-4c9f-93eb-133ff2f16c3e\""
  27. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/userdemo/\""
  28. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  29. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  30. }
  31. user4 {//sms
  32. dimension "baseUrl"
  33. buildConfigField "String", "BASE_URL", "\"https://www.lkluckpanda.com\""
  34. buildConfigField "String", "UPDATE_KEY", "\"64f225d4-e9a4-4c9f-93eb-133ff2f16c3e\""
  35. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/userdemo/\""
  36. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  37. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  38. }
  39. userfy {
  40. dimension "baseUrl"
  41. buildConfigField "String", "BASE_URL", "\"https://www.ghpcarphone.online\""
  42. buildConfigField "String", "UPDATE_KEY", "\"52447696-7b59-40db-ad58-5a7bdc0f6d30\""
  43. buildConfigField "String", "UPDATE_BASE_URL", "\"http://up.lkluckpanda.online/userdemo/\""
  44. buildConfigField "String", "UPDATE_APP_NAME", "\"guy.apk\""
  45. buildConfigField "String", "UPDATE_JSON", "\"config.json\""
  46. }
  47. }
  48. defaultConfig {
  49. applicationId "com.car.frpc_android"
  50. minSdkVersion 23
  51. targetSdkVersion 31
  52. versionCode 16
  53. versionName "0.39.4.8"
  54. multiDexEnabled true
  55. ndk {
  56. abiFilters 'armeabi-v8a','armeabi-v7a'
  57. }
  58. testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
  59. }
  60. compileOptions {
  61. sourceCompatibility = 1.8
  62. targetCompatibility = 1.8
  63. }
  64. buildFeatures {
  65. viewBinding = true
  66. }
  67. applicationVariants.all { variant ->
  68. variant.outputs.all {
  69. outputFileName = "guy.apk"
  70. def json = new JSONObject()
  71. json.put("versionName", variant.versionName)//版本名称
  72. json.put("versionCode", variant.versionCode)//版本号
  73. json.put("description", "1.新增更新渠道\n2.已知Bug修复\n3.其他\n")//更新内容
  74. json.put("isForce", true)//是否强制更新
  75. json.put("title", "有新的版本可以更新!")//更新dialog显示的标题头
  76. // 获取 APK 文件的父文件夹
  77. def apkFilePath = outputFile.parent
  78. def targetFolder = file(apkFilePath)
  79. targetFolder.mkdirs()
  80. // 写入 JSON 文件
  81. def jsonFile = file("${apkFilePath}/config.json")
  82. jsonFile.write(json.toString())
  83. }
  84. }
  85. signingConfigs {
  86. release {
  87. storeFile file('..\\app\\frpcapp.jks')
  88. storePassword 'frpcapp'
  89. keyAlias = 'frpcapp'
  90. keyPassword 'frpcapp'
  91. }
  92. debug {
  93. storeFile file('..\\app\\frpcapp.jks')
  94. storePassword 'frpcapp'
  95. keyAlias = 'frpcapp'
  96. keyPassword 'frpcapp'
  97. }
  98. }
  99. buildTypes {
  100. release {
  101. buildConfigField "boolean", "LOG_DEBUG", "false"
  102. minifyEnabled false
  103. zipAlignEnabled false
  104. shrinkResources false
  105. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro', 'proguard-fresco.pro'
  106. signingConfig signingConfigs.release
  107. }
  108. debug {
  109. buildConfigField "boolean", "LOG_DEBUG", "true"
  110. minifyEnabled false
  111. zipAlignEnabled false
  112. shrinkResources false
  113. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro', 'proguard-fresco.pro'
  114. signingConfig signingConfigs.debug
  115. }
  116. }
  117. repositories {
  118. jcenter()
  119. flatDir {
  120. dirs 'libs' // aar目录
  121. }
  122. }
  123. }
  124. dependencies {
  125. implementation fileTree(dir: 'libs', include: ['*.jar'])
  126. implementation 'androidx.appcompat:appcompat:1.1.0'
  127. implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
  128. implementation 'androidx.legacy:legacy-support-v4:1.0.0'
  129. implementation 'com.google.android.material:material:1.1.0'
  130. implementation 'androidx.navigation:navigation-fragment:2.3.0'
  131. implementation 'androidx.navigation:navigation-ui:2.3.0'
  132. implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
  133. testImplementation 'junit:junit:4.12'
  134. androidTestImplementation 'androidx.test.ext:junit:1.1.1'
  135. androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
  136. implementation(name: 'frpclib', ext: 'aar')
  137. implementation 'androidx.recyclerview:recyclerview:1.1.0'
  138. implementation 'com.jakewharton:butterknife:10.2.1'
  139. annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.1'
  140. implementation 'com.squareup.retrofit2:retrofit:2.6.2'
  141. implementation 'com.squareup.retrofit2:converter-gson:2.6.2'
  142. implementation 'com.squareup.retrofit2:adapter-rxjava2:2.6.2'
  143. implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
  144. implementation 'io.reactivex.rxjava2:rxjava:2.1.16'
  145. implementation 'com.github.ahmadaghazadeh:CodeEditor:1.0.17'
  146. implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
  147. implementation 'org.jetbrains:annotations:15.0'
  148. implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:3.0.4'
  149. implementation 'io.github.jeremyliao:live-event-bus-x:1.8.0'
  150. implementation 'com.google.android.material:material:1.5.0'
  151. implementation "androidx.multidex:multidex:2.0.1"
  152. def room_version = "2.4.1"
  153. implementation "androidx.room:room-runtime:$room_version"
  154. annotationProcessor "androidx.room:room-compiler:$room_version"
  155. implementation "androidx.room:room-rxjava2:$room_version"
  156. implementation 'com.blankj:utilcodex:1.30.6'
  157. implementation 'androidx.work:work-runtime:2.7.0'
  158. implementation 'org.xutils:xutils:3.9.0'
  159. implementation 'com.alibaba:fastjson:1.2.73'
  160. implementation 'com.github.sanyinchen:LogView:v1.0'
  161. def appCenterSdkVersion = '5.0.0'
  162. implementation "com.microsoft.appcenter:appcenter-analytics:${appCenterSdkVersion}"
  163. implementation "com.microsoft.appcenter:appcenter-crashes:${appCenterSdkVersion}"
  164. implementation "com.microsoft.appcenter:appcenter-distribute:${appCenterSdkVersion}"
  165. implementation project(':ussd-library')
  166. }