module.build.gradle 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. //-----------------所有module共有的配置--------------
  2. // 作为组件/APP应用运行
  3. apply plugin: rootProject.ext.isBuildModule ? 'com.android.application' : 'com.android.library'
  4. apply plugin: 'kotlin-android'
  5. apply plugin: 'kotlin-parcelize'
  6. apply plugin: 'kotlin-kapt'
  7. android {
  8. compileSdkVersion rootProject.ext.android.compileSdk
  9. defaultConfig {
  10. minSdk rootProject.ext.android.minSdk
  11. targetSdk rootProject.ext.android.targetSdk
  12. versionCode rootProject.ext.android.versionCode
  13. versionName rootProject.ext.android.versionName
  14. testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  15. multiDexEnabled true
  16. // ARouter配置
  17. kapt {
  18. arguments {
  19. arg("AROUTER_MODULE_NAME", project.getName())
  20. }
  21. }
  22. }
  23. kotlinOptions {
  24. jvmTarget = "1.8"
  25. }
  26. compileOptions {
  27. sourceCompatibility JavaVersion.VERSION_1_8
  28. targetCompatibility JavaVersion.VERSION_1_8
  29. }
  30. sourceSets {
  31. main {
  32. jniLibs.srcDirs = ['libs']
  33. if (rootProject.ext.isBuildModule) {
  34. //独立运行
  35. manifest.srcFile 'src/main/alone/AndroidManifest.xml'
  36. } else {
  37. //合并到宿主
  38. manifest.srcFile 'src/main/AndroidManifest.xml'
  39. resources {
  40. //正式版本时,排除alone文件夹下所有调试文件
  41. exclude 'src/main/alone/*'
  42. }
  43. }
  44. }
  45. }
  46. buildTypes {
  47. debug {
  48. minifyEnabled false
  49. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  50. }
  51. release {
  52. minifyEnabled false
  53. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  54. }
  55. }
  56. buildFeatures {
  57. dataBinding true
  58. }
  59. lintOptions {
  60. abortOnError false
  61. disable 'MissingTranslation'
  62. disable 'ExtraTranslation'
  63. }
  64. }
  65. dependencies {
  66. implementation project(path: ':lib_base')
  67. // kapt无法像api那样穿透(从lib_common带过来),所以不能放在lib_common中,而是放在这里让每个组件都引入一份
  68. kapt rootProject.ext.dependencies.arouter_compiler
  69. }