build.gradle 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. // Top-level build file where you can add configuration options common to all sub-projects/modules.
  2. buildscript {
  3. // lib版本号
  4. ext.versions = [
  5. 'minSdk' : 16,
  6. 'targetSdk' : 27,
  7. 'compileSdk' : 27,
  8. 'Java' : JavaVersion.VERSION_1_8,
  9. 'supportLibrary' : '27.1.1',
  10. 'butterknife' : '8.8.1',
  11. 'retrofit' : '2.4.0',
  12. 'SmartRefreshLayout': '1.0.4-alpha-9',
  13. 'leakcanary' : '1.5.1',
  14. 'objectbox' : '1.0.1',
  15. 'lifecycle' : '1.1.0',
  16. 'gsyVideoPlayer' : '6.0.0-beta'
  17. ]
  18. // 引用的lib
  19. ext.lib = [
  20. /** 常备底层库*/
  21. support : [
  22. v4 : "com.android.support:support-v4:${versions.supportLibrary}",
  23. v7 : "com.android.support:appcompat-v7:${versions.supportLibrary}",
  24. design : "com.android.support:design:${versions.supportLibrary}",
  25. recyclerview: "com.android.support:recyclerview-v7:${versions.supportLibrary}",
  26. cardview : "com.android.support:cardview-v7:${versions.supportLibrary}",
  27. multidex : 'com.android.support:multidex:1.0.2',
  28. percent : "com.android.support:percent:${versions.supportLibrary}",
  29. constraint : 'com.android.support.constraint:constraint-layout:1.1.0-beta6',
  30. guava : 'com.google.guava:guava:22.0-android',
  31. ],
  32. test : [
  33. junit : 'junit:junit:4.12',
  34. runner : 'com.android.support.test:runner:1.0.2',
  35. espresso: 'com.android.support.test.espresso:espresso-core:3.0.2',
  36. ],
  37. // 谷歌开发架构组件
  38. lifecycle : [
  39. runtime : "android.arch.lifecycle:runtime:${versions.lifecycle}",
  40. extensions: "android.arch.lifecycle:extensions:${versions.lifecycle}",
  41. compiler : "android.arch.lifecycle:compiler:${versions.lifecycle}",
  42. ],
  43. // 注解框架
  44. butterknife : [
  45. core : "com.jakewharton:butterknife:${versions.butterknife}",
  46. compiler: "com.jakewharton:butterknife-compiler:${versions.butterknife}",
  47. ],
  48. retrofit2 : [
  49. core : "com.squareup.retrofit2:retrofit:${versions.retrofit}",
  50. rxjava2: "com.squareup.retrofit2:adapter-rxjava2:${versions.retrofit}",
  51. gson : "com.squareup.retrofit2:converter-gson:${versions.retrofit}",
  52. logger : 'com.squareup.okhttp3:logging-interceptor:3.9.1'
  53. ],
  54. rxjava2 : 'io.reactivex.rxjava2:rxjava:2.1.16',
  55. rxAndroid : 'io.reactivex.rxjava2:rxandroid:2.0.2',
  56. baseRecyclerViewAdapterHelper: 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30', // recyclerView适配器
  57. // Image loader
  58. glide : [
  59. 'core' : 'com.github.bumptech.glide:glide:4.6.1',
  60. 'compiler': 'com.github.bumptech.glide:compiler:4.6.1'
  61. ],
  62. log : 'com.orhanobut:logger:2.2.0', // 日志打印
  63. greendao : 'org.greenrobot:greendao:3.2.2', // 数据库
  64. jewel : [
  65. 'inject': 'com.jewel.util:ViewInject:1.0.1',
  66. ],
  67. // 内存泄漏分析
  68. leakcanary : [
  69. 'debug' : "com.squareup.leakcanary:leakcanary-android:${versions.leakcanary}",
  70. 'release': "com.squareup.leakcanary:leakcanary-android-no-op:${versions.leakcanary}",
  71. ],
  72. http : 'com.yanzhenjie.nohttp:nohttp:1.1.9',
  73. json : 'com.alibaba:fastjson:1.2.9',
  74. gson : 'com.google.code.gson:gson:2.8.0',
  75. lombok : 'org.projectlombok:lombok:1.16.20', // 实体注解工具, @http : https://projectlombok.org/setup/android
  76. /** 常备UI库*/
  77. //刷新容器
  78. SmartRefreshLayout : [
  79. 'core' : "com.scwang.smartrefresh:SmartRefreshLayout:${versions.SmartRefreshLayout}",
  80. 'header': "com.scwang.smartrefresh:SmartRefreshHeader:${versions.SmartRefreshLayout}",
  81. ],
  82. fragmentation : [
  83. 'core' : 'me.yokeyword:fragmentation:1.3.3',
  84. 'swipeback': 'me.yokeyword:fragmentation-swipeback:1.3.3'
  85. ],
  86. utilcode : 'com.blankj:utilcode:1.13.6', // 常用工具类 @Git地址:https://github.com/Blankj/AndroidUtilCode
  87. lottie : 'com.airbnb.android:lottie:2.5.4', // json动画 @Git:https://github.com/airbnb/lottie-android
  88. /** 以下为根据项目需求引入的非通用库 */
  89. // 视频播放器:https://github.com/CarGuo/GSYVideoPlayer
  90. video : [
  91. // 完整版
  92. GSYVideoPlayer :"com.shuyu:GSYVideoPlayer:${versions.gsyVideoPlayer}",
  93. // 可选配置版
  94. // player: "com.shuyu:gsyVideoPlayer-java:${versions.gsyVideoPlayer}",
  95. // //是否需要ExoPlayer模式
  96. // exo2 : "com.shuyu:GSYVideoPlayer-exo2:${versions.gsyVideoPlayer}",
  97. // //根据你的需求
  98. // armv5 : "com.shuyu:gsyVideoPlayer-armv5:${versions.gsyVideoPlayer}",
  99. // armv7a: "com.shuyu:gsyVideoPlayer-armv7a:${versions.gsyVideoPlayer}",
  100. // arm64 : "com.shuyu:gsyVideoPlayer-arm64:${versions.gsyVideoPlayer}",
  101. // x64 : "com.shuyu:gsyVideoPlayer-x64:${versions.gsyVideoPlayer}",
  102. // x86 : "com.shuyu:gsyVideoPlayer-x86:${versions.gsyVideoPlayer}",
  103. ],
  104. materialDialogs : 'com.afollestad.material-dialogs:core:0.9.6.0', // material 风格的对话框,@Git地址:https://github.com/afollestad/material-dialogs
  105. crash : [
  106. 'crashreport_upgrade': "com.tencent.bugly:crashreport_upgrade:latest.release", // bugly app update and crash report lib
  107. 'nativecrashreport' : "com.tencent.bugly:nativecrashreport:latest.release", // bugly Native Crash report lib
  108. ],
  109. ]
  110. repositories {
  111. jcenter()
  112. maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
  113. mavenCentral()
  114. google()
  115. }
  116. dependencies {
  117. classpath 'com.android.tools.build:gradle:3.1.4'
  118. // classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin
  119. // NOTE: Do not place your application dependencies here; they belong
  120. // in the individual module build.gradle files
  121. }
  122. }
  123. allprojects {
  124. repositories {
  125. jcenter()
  126. maven { url "https://jitpack.io" }
  127. maven { url 'https://maven.google.com' }
  128. maven { url "https://oss.sonatype.org/content/repositories/snapshots" }
  129. maven { url 'http://maven.aliyun.com/nexus/content/repositories/releases/' }
  130. flatDir {
  131. dirs 'libs'
  132. }
  133. google()
  134. }
  135. }
  136. task clean(type: Delete) {
  137. delete rootProject.buildDir
  138. }