build.gradle 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. plugins {
  2. id 'com.android.application'
  3. }
  4. apply from : '../common.gradle'
  5. android {
  6. signingConfigs {
  7. config rootProject.ext.build["signingConfig"]
  8. }
  9. compileSdkVersion rootProject.ext.android["compileSdkVersion"]
  10. buildToolsVersion rootProject.ext.android["buildToolsVersion"]
  11. defaultConfig {
  12. applicationId "com.jiuchen.cloudclinic"
  13. minSdkVersion rootProject.ext.android["minSdkVersion"]
  14. targetSdkVersion rootProject.ext.android["targetSdkVersion"]
  15. versionCode rootProject.ext.android["versionCode"]
  16. versionName rootProject.ext.android["versionName"]
  17. testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
  18. multiDexEnabled true
  19. // 混淆配置
  20. proguardFiles 'proguard-sdk.pro', 'proguard-app.pro'
  21. // 日志打印开关
  22. buildConfigField('boolean', 'LOG_DEBUG', '' + LOG_DEBUG + '')
  23. // 测试包下的 BuglyId
  24. buildConfigField('String', 'BUGLY_ID', '"' + BUGLY_ID + '"')
  25. // 测试服务器的主机地址
  26. buildConfigField('String', 'SERVER_HOST', '"' + SERVER_HOST + '"')
  27. }
  28. buildTypes {
  29. debug {
  30. // 调试模式开关
  31. debuggable true
  32. jniDebuggable true
  33. zipAlignEnabled true // Zipalign优化
  34. shrinkResources false // 移除无用的resource文件
  35. signingConfig signingConfigs.config
  36. ndk {
  37. abiFilters 'armeabi-v7a'
  38. }
  39. }
  40. preview.initWith(debug)
  41. release {
  42. // 调试模式开关
  43. debuggable false
  44. jniDebuggable false
  45. zipAlignEnabled true // Zipalign优化
  46. shrinkResources true // 移除无用的resource文件
  47. minifyEnabled true
  48. signingConfig signingConfigs.config
  49. ndk {
  50. abiFilters 'armeabi-v7a', 'arm64-v8a'
  51. }
  52. }
  53. }
  54. packagingOptions {
  55. // 剔除这个包下的所有文件(不会移除签名信息)
  56. exclude 'META-INF/*******'
  57. }
  58. applicationVariants.all { variant ->
  59. variant.outputs.all { output ->
  60. outputFileName = "CloudClinic_OTC_" + 'V' + variant.versionName + '_' + variant.buildType.name
  61. if (variant.buildType.name == buildTypes.release.getName()) {
  62. outputFileName += '_' + new Date().format('MMdd')
  63. }
  64. outputFileName += '.apk'
  65. }
  66. }
  67. dataBinding {
  68. enabled true
  69. }
  70. }
  71. dependencies {
  72. // 依赖 libs 目录下所有的 jar 和 aar 包
  73. implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
  74. implementation 'androidx.appcompat:appcompat:1.2.0'
  75. implementation 'com.google.android.material:material:1.2.1'
  76. implementation 'androidx.constraintlayout:constraintlayout:2.0.1'
  77. testImplementation 'junit:junit:4.+'
  78. androidTestImplementation 'androidx.test.ext:junit:1.1.1'
  79. androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
  80. implementation project(path: ':common')
  81. implementation 'com.tencent.bugly:crashreport:3.4.4'
  82. //其中latest.release指代最新Bugly SDK版本号,也可以指定明确的版本号,例如2.1.9
  83. implementation 'com.tencent.bugly:nativecrashreport:3.9.2'
  84. implementation 'com.jakewharton.timber:timber:4.7.1'
  85. }