build.gradle 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. if (singleModule.toBoolean()) {
  2. // 作为独立app应用运行
  3. apply plugin: 'com.android.application'
  4. } else {
  5. // 作为组件运行
  6. apply plugin: 'com.android.library'
  7. }
  8. apply plugin: 'kotlin-android'
  9. // ARouter
  10. apply plugin: 'kotlin-kapt'
  11. /*序列化插件*/
  12. apply plugin: 'kotlin-parcelize'
  13. kapt {
  14. arguments {
  15. arg("AROUTER_MODULE_NAME", project.getName())
  16. }
  17. }
  18. def singleRun = singleModule.toBoolean()
  19. android {
  20. compileSdkVersion rootProject.ext.android.compileSdkVersion
  21. buildToolsVersion rootProject.ext.android.buildToolsVersion
  22. defaultConfig {
  23. // 如果是独立模块,则使用当前组件的包名
  24. if (singleRun) {
  25. applicationId rootProject.ext.android.applicationId
  26. }
  27. minSdkVersion rootProject.ext.android.minSdkVersion
  28. targetSdkVersion rootProject.ext.android.targetSdkVersion
  29. versionCode rootProject.ext.android.versionCode
  30. versionName rootProject.ext.android.versionName
  31. flavorDimensions "versionCode"
  32. testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
  33. vectorDrawables.useSupportLibrary = true
  34. multiDexEnabled true
  35. // 只保留指定和默认的资源
  36. resConfigs "zh"//去掉无用的国际语言
  37. ndk {
  38. abiFilters 'armeabi', 'armeabi-v7a', 'arm64-v8a'
  39. }
  40. generatedDensities = []
  41. // 如果是独立模块,则使用当前组件的包名
  42. if (singleModule.toBoolean()) {
  43. applicationId "com.yingyangfly.webview"
  44. }
  45. }
  46. // 统一资源前缀,规范资源引用
  47. resourcePrefix "webview_"
  48. buildTypes {
  49. debug {
  50. minifyEnabled false // 打开混淆
  51. shrinkResources false // 是否清理无用资源,依赖于minifyEnabled
  52. zipAlignEnabled false // 是否启用zipAlign压缩
  53. buildConfigField "String", "BAIDU_APPID", "\"37371987\""
  54. buildConfigField "String", "BAIDU_APPKEY", "\"RzdZg1lVNxAB1NpQi0SSwLIe\""
  55. buildConfigField "String", "BAIDU_SECRETKEY", "\"4AfYdqAyA9PtLOoNFFsyUogDfxoMBmqS\""
  56. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
  57. debuggable true
  58. }
  59. release {
  60. minifyEnabled false // 打开混淆
  61. shrinkResources false // 是否清理无用资源,依赖于minifyEnabled
  62. zipAlignEnabled false // 是否启用zipAlign压缩
  63. buildConfigField "String", "BAIDU_APPID", "\"37371987\""
  64. buildConfigField "String", "BAIDU_APPKEY", "\"RzdZg1lVNxAB1NpQi0SSwLIe\""
  65. buildConfigField "String", "BAIDU_SECRETKEY", "\"4AfYdqAyA9PtLOoNFFsyUogDfxoMBmqS\""
  66. proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
  67. debuggable true
  68. }
  69. }
  70. compileOptions {
  71. sourceCompatibility JavaVersion.VERSION_1_8
  72. targetCompatibility JavaVersion.VERSION_1_8
  73. }
  74. kotlinOptions {
  75. jvmTarget = '1.8'
  76. }
  77. buildFeatures {
  78. dataBinding true
  79. }
  80. sourceSets {
  81. main {
  82. jniLibs.srcDirs = ['libs']
  83. if (singleRun) {
  84. // 如果是application,则 编译主目录下AndroidManifest.xml文件
  85. manifest.srcFile 'src/main/AndroidManifest.xml'
  86. } else {
  87. // 如果是library,合并到宿主,则 编译manifest目录下AndroidManifest.xml文件
  88. manifest.srcFile 'src/main/manifest/AndroidManifest.xml'
  89. resources {
  90. // 正式版本时,排除manifest文件夹下所有的调试文件
  91. exclude 'src/main/manifest/*'
  92. }
  93. }
  94. }
  95. }
  96. }
  97. dependencies {
  98. api fileTree(exclude: '*.bak', dir: 'libs')
  99. // 基类lib包
  100. implementation project(path: ':baselib')
  101. // ARtouter
  102. implementation(rootProject.ext.dependencies.arouter_api)
  103. kapt(rootProject.ext.dependencies.arouter_compiler)
  104. api(rootProject.ext.androidx.kotlin_lib)
  105. api(rootProject.ext.androidx.kotlin_core)
  106. api(rootProject.ext.androidx.appcompat)
  107. api(rootProject.ext.androidx.material)
  108. api(rootProject.ext.androidx.constraintlayout)
  109. testApi(rootProject.ext.androidx.junit)
  110. androidTestApi(rootProject.ext.androidx.runner)
  111. androidTestApi(rootProject.ext.androidx.espresso_core)
  112. }