build.gradle 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. apply plugin: 'com.android.application'
  2. Properties props = new Properties()
  3. props.load(new FileInputStream(file("signing.properties")))
  4. Properties serverProps = new Properties()
  5. def propFile = file('server_url.properties')
  6. def testApiUrl, proApiUrl
  7. if (propFile.canRead()) {
  8. serverProps.load(new FileInputStream(propFile))
  9. if (serverProps != null) {
  10. testApiUrl = serverProps['testApiUrl']
  11. proApiUrl = serverProps['proApiUrl']
  12. }
  13. }
  14. android {
  15. compileSdkVersion rootProject.ext.compileSdkVersion
  16. buildToolsVersion rootProject.ext.buildToolsVersion
  17. defaultConfig {
  18. applicationId "com.webrain.happywork"
  19. minSdkVersion rootProject.ext.minSdkVersion
  20. targetSdkVersion rootProject.ext.targetSdkVersion
  21. multiDexEnabled true
  22. versionCode 2
  23. versionName "1.0.1"
  24. testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  25. flavorDimensions "versionCode"
  26. ndk {
  27. abiFilters "armeabi", "armeabi-v7a", "arm64-v8a", "x86", "arm64-v8a", "x86_64"
  28. }
  29. }
  30. productFlavors {
  31. hwpro {
  32. applicationId "com.webrain.happywork"
  33. buildConfigField('String', 'baseApiUrl', proApiUrl)
  34. }
  35. hwtest {
  36. applicationId "com.webrain.happywork.test"
  37. buildConfigField('String', 'baseApiUrl', testApiUrl)
  38. }
  39. }
  40. signingConfigs {
  41. debug {
  42. keyAlias props['KEY_ALIAS']
  43. keyPassword props['KEY_PASSWORD']
  44. storeFile file(props['KEYSTORE_FILE'])
  45. storePassword props['KEYSTORE_PASSWORD']
  46. }
  47. release {
  48. keyAlias props['KEY_ALIAS']
  49. keyPassword props['KEY_PASSWORD']
  50. storeFile file(props['KEYSTORE_FILE'])
  51. storePassword props['KEYSTORE_PASSWORD']
  52. }
  53. }
  54. //自动生成指定名称的release发布版的 apk文件
  55. android.applicationVariants.all { variant ->
  56. variant.outputs.all { output ->
  57. outputFileName = "happyWork_${variant.productFlavors[0].name}_${buildType.getName()}_${defaultConfig.versionName}.apk"
  58. }
  59. }
  60. buildTypes {
  61. release {
  62. //混淆
  63. minifyEnabled true
  64. //Zipalign优化
  65. zipAlignEnabled true
  66. // 移除无用的resource文件
  67. shrinkResources true
  68. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  69. signingConfig signingConfigs.release
  70. }
  71. debug {
  72. signingConfig signingConfigs.release
  73. }
  74. }
  75. }
  76. dependencies {
  77. implementation fileTree(dir: 'libs', include: ['*.jar'])
  78. implementation project(':baselibrary')
  79. implementation 'com.jakewharton:butterknife:8.0.1'
  80. annotationProcessor 'com.jakewharton:butterknife-compiler:8.0.1'
  81. }