build.gradle 2.7 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.dailypay"
  19. minSdkVersion rootProject.ext.minSdkVersion
  20. targetSdkVersion rootProject.ext.targetSdkVersion
  21. multiDexEnabled true
  22. versionCode 1
  23. versionName "1.0"
  24. testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  25. flavorDimensions "versionCode"
  26. }
  27. productFlavors {
  28. dppro {
  29. applicationId "com.webrain.dailypay"
  30. buildConfigField('String', 'baseApiUrl', proApiUrl)
  31. }
  32. dptest {
  33. applicationId "com.webrain.dailypay.test"
  34. buildConfigField('String', 'baseApiUrl', testApiUrl)
  35. }
  36. }
  37. signingConfigs {
  38. debug {
  39. keyAlias props['KEY_ALIAS']
  40. keyPassword props['KEY_PASSWORD']
  41. storeFile file(props['KEYSTORE_FILE'])
  42. storePassword props['KEYSTORE_PASSWORD']
  43. }
  44. release {
  45. keyAlias props['KEY_ALIAS']
  46. keyPassword props['KEY_PASSWORD']
  47. storeFile file(props['KEYSTORE_FILE'])
  48. storePassword props['KEYSTORE_PASSWORD']
  49. }
  50. }
  51. //自动生成指定名称的release发布版的 apk文件
  52. android.applicationVariants.all { variant ->
  53. variant.outputs.all { output ->
  54. outputFileName = "DailyPay_${variant.productFlavors[0].name}_${buildType.getName()}_${defaultConfig.versionName}.apk"
  55. }
  56. }
  57. buildTypes {
  58. release {
  59. //混淆
  60. minifyEnabled true
  61. //Zipalign优化
  62. zipAlignEnabled true
  63. // 移除无用的resource文件
  64. shrinkResources true
  65. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  66. signingConfig signingConfigs.release
  67. }
  68. debug {
  69. signingConfig signingConfigs.release
  70. }
  71. }
  72. }
  73. dependencies {
  74. implementation fileTree(include: ['*.jar'], dir: 'libs')
  75. implementation project(':baselibrary')
  76. implementation 'com.jakewharton:butterknife:8.0.1'
  77. annotationProcessor 'com.jakewharton:butterknife-compiler:8.0.1'
  78. }