build.gradle 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472
  1. apply plugin: 'com.android.application'
  2. apply plugin: 'com.jakewharton.butterknife'
  3. apply plugin: 'org.greenrobot.greendao'
  4. //apply plugin: 'com.didi.virtualapk.host'
  5. android {
  6. compileSdkVersion ANDROID_COMPILE_SDK_VERSION as int
  7. defaultConfig {
  8. applicationId "com.sheep.jiuyan.samllsheep"
  9. minSdkVersion ANDROID_MIN_SDK_VERSION as int
  10. targetSdkVersion ANDORID_TARGET_SDK_VERSION as int
  11. versionCode VERSION_CODE as int
  12. versionName VERSION_NAME
  13. multiDexEnabled true
  14. testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
  15. ndk {
  16. abiFilters "armeabi-v7a", "arm64-v8a"//, 'x86'//, 'armeabi-v7a', 'x86_64', 'arm64-v8a'
  17. }
  18. // jackOptions {
  19. // enabled true
  20. // }
  21. flavorDimensions "versionCode"
  22. packagingOptions {
  23. exclude 'META-INF/proguard/androidx-annotations.pro'
  24. }
  25. }
  26. greendao {
  27. schemaVersion 21
  28. targetGenDir 'src/main/java'
  29. }
  30. signingConfigs {
  31. config {
  32. keyAlias 'sheep'
  33. keyPassword 'zhaoyi2004'
  34. storeFile file('../sign.jks')
  35. storePassword 'zhaoyi2004'
  36. v1SigningEnabled true
  37. v2SigningEnabled true
  38. }
  39. }
  40. lintOptions {
  41. abortOnError false
  42. disable 'MissingTranslation'
  43. }
  44. buildFeatures {
  45. viewBinding = true
  46. }
  47. packagingOptions {
  48. exclude 'META-INF/services/com.fasterxml.jackson.core.JsonFactory'
  49. exclude "**/module-info.class"
  50. exclude 'META-INF/androidx.localbroadcastmanager_localbroadcastmanager.version'
  51. exclude 'META-INF/androidx.customview_customview.version'
  52. exclude 'META-INF/androidx.legacy_legacy-support-core-ui.version'
  53. exclude 'META-INF/androidx.drawerlayout_drawerlayout.version'
  54. exclude 'META-INF/androidx.interpolator_interpolator.version'
  55. exclude 'META-INF/androidx.legacy_legacy-support-core-utils.version'
  56. exclude 'META-INF/androidx.slidingpanelayout_slidingpanelayout.version'
  57. exclude 'META-INF/androidx.appcompat_appcompat.version'
  58. exclude 'META-INF/androidx.swiperefreshlayout_swiperefreshlayout.version'
  59. exclude 'META-INF/androidx.print_print.version'
  60. exclude 'META-INF/androidx.documentfile_documentfile.version'
  61. exclude 'META-INF/androidx.loader_loader.version'
  62. exclude 'META-INF/androidx.viewpager_viewpager.version'
  63. exclude 'META-INF/androidx.coordinatorlayout_coordinatorlayout.version'
  64. exclude 'META-INF/androidx.versionedparcelable_versionedparcelable.version'
  65. exclude 'META-INF/androidx.cursoradapter_cursoradapter.version'
  66. exclude 'META-INF/androidx.fragment_fragment.version'
  67. exclude 'META-INF/androidx.vectordrawable_vectordrawable.version'
  68. exclude 'META-INF/androidx.asynclayoutinflater_asynclayoutinflater.version'
  69. exclude 'META-INF/androidx.core_core.version'
  70. exclude 'META-INF/androidx.vectordrawable_vectordrawable-animated.version'
  71. }
  72. buildTypes {
  73. release {
  74. minifyEnabled true
  75. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  76. signingConfig signingConfigs.config
  77. }
  78. debug {
  79. signingConfig signingConfigs.config
  80. }
  81. }
  82. productFlavors.all { flavor ->
  83. flavor.manifestPlaceholders = [DUANDUAN_GRAPH : "${flavor.name}",
  84. DUANDUAN_DATASHARE: "${flavor.name}",
  85. ]
  86. }
  87. productFlavors {
  88. developSheeptest {
  89. applicationId "com.sheep.jiuyan.samllsheep"
  90. manifestPlaceholders = [DUANDUAN_GRAPH : "sheeptest",
  91. DUANDUAN_DATASHARE: "sheeptest",
  92. jpush_appkey : "627ffad0b1cdf701d15e027a",
  93. umeng_app_key : "5ab0a1da8f4a9d742900035f"
  94. ]
  95. buildConfigField "String", "DUANDUAN_DATASHARE", '"sheeptest"'
  96. buildConfigField "String", "DUANDUAN_GRAPH", '"sheeptest"'
  97. resValue "string", "app_name", "小绵羊测试"
  98. buildConfigField "boolean", "XXTEA_ENCRYPT", 'true'
  99. signingConfig signingConfigs.config
  100. }
  101. sheeptestjiguang {
  102. applicationId "com.sheep.jiuyan.samllsheep.test"
  103. manifestPlaceholders = [DUANDUAN_GRAPH : "sheeptestjiguang",
  104. DUANDUAN_DATASHARE: "sheeptestjiguang",
  105. jpush_appkey : "627ffad0b1cdf701d15e027a",
  106. umeng_app_key : "5ab0a1da8f4a9d742900035f"
  107. ]
  108. buildConfigField "String", "DUANDUAN_DATASHARE", '"sheeptestjiguang"'
  109. buildConfigField "String", "DUANDUAN_GRAPH", '"sheeptestjiguang"'
  110. resValue "string", "app_name", "小绵羊极光测试"
  111. buildConfigField "boolean", "XXTEA_ENCRYPT", 'true'
  112. signingConfig signingConfigs.config
  113. }
  114. sheep {
  115. applicationId "com.sheep.jiuyan.samllsheep"
  116. manifestPlaceholders = [DUANDUAN_GRAPH : "sheep",
  117. DUANDUAN_DATASHARE: "sheep",
  118. jpush_appkey : "28b74d520261c6f78e3e0921",
  119. umeng_app_key : "5ab0a1da8f4a9d742900035f"
  120. ]
  121. buildConfigField "String", "DUANDUAN_DATASHARE", '"sheep"'
  122. buildConfigField "String", "DUANDUAN_GRAPH", '"sheep"'
  123. resValue "string", "app_name", "小绵羊"
  124. buildConfigField "boolean", "XXTEA_ENCRYPT", 'true'
  125. signingConfig signingConfigs.config
  126. }
  127. }
  128. sourceSets {
  129. main() {
  130. jniLibs.srcDirs = ['src/main/libs']
  131. jni.srcDirs = [] //屏蔽掉默认的jni编译生成过程
  132. }
  133. }
  134. compileOptions {
  135. sourceCompatibility JavaVersion.VERSION_1_8
  136. targetCompatibility JavaVersion.VERSION_1_8
  137. }
  138. }
  139. repositories {
  140. flatDir {
  141. dirs 'libs'
  142. }
  143. google()
  144. }
  145. configurations.all {
  146. resolutionStrategy.eachDependency { DependencyResolveDetails details ->
  147. def requested = details.requested
  148. if (requested.group == 'com.android.support') {
  149. if (!requested.name.startsWith("multidex")) {
  150. details.useVersion "$supportLibVersion"
  151. }
  152. }
  153. }
  154. }
  155. dependencies {
  156. // QQ 互联SDK,用于QQ分享、登录
  157. // implementation files('libs/open_sdk_3.5.14.3_rc26220c_lite.jar')
  158. implementation files('libs/open_sdk_r5923_lite.jar')
  159. def miniSdkVersion = "1.57.30"
  160. implementation("com.tencent.qqmini:minigame:${miniSdkVersion}") {
  161. exclude group: 'com.squareup.okhttp3', module: 'okhttp'
  162. }
  163. implementation("com.tencent.qqmini:minigame_external:${miniSdkVersion}") {
  164. exclude group: 'com.squareup.okhttp3', module: 'okhttp'
  165. }
  166. // 如果不使用sdk的互联模块,可以不依赖
  167. implementation("com.tencent.qqmini:minigame_open_sdk_all:${miniSdkVersion}") {
  168. exclude group: 'com.squareup.okhttp3', module: 'okhttp'
  169. }
  170. //noinspection GradleCompatible
  171. implementation 'androidx.legacy:legacy-support-v4:1.0.0'
  172. //noinspection GradleCompatible
  173. implementation 'androidx.cardview:cardview:1.0.0'
  174. implementation('com.google.android.material:material:1.0.0') {
  175. // exclude group: 'com.android.support', module: 'support-annotations'
  176. // exclude group: 'com.android.support', module: 'support-compat'
  177. // exclude group: 'com.android.support', module: 'support-core-ui'
  178. // exclude group: 'com.android.support', module: 'support-core-utils'
  179. // exclude group: 'com.android.support', module: 'support-fragment'
  180. // exclude group: 'com.android.support', module: 'transition'
  181. // exclude group: 'com.android.support', module: 'appcompat-v7'
  182. // exclude group: 'com.android.support', module: 'cardview-v7'
  183. // exclude group: 'com.android.support', module: 'recyclerview-v7'
  184. }
  185. implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
  186. testImplementation 'junit:junit:4.12'
  187. implementation 'com.google.code.gson:gson:2.8.2'
  188. // implementation 'com.shark:screencapture:1.0.0'
  189. implementation('com.jcodecraeer:xrecyclerview:1.5.9') {
  190. // exclude group: 'com.android.support', module: 'design'
  191. // exclude group: 'com.android.support', module: 'recyclerview'
  192. // exclude group: 'com.android.support', module: 'appcompat'
  193. }
  194. implementation 'com.squareup.wire:wire-runtime:3.6.0'
  195. implementation 'com.squareup.okhttp3:okhttp:3.11.0'
  196. implementation 'org.greenrobot:eventbus:3.1.1'
  197. // implementation 'com.zhy:base-adapter:3.0.3'
  198. // implementation 'com.liulishuo.filedownloader:library:1.6.9'
  199. implementation 'com.tencent.bugly:crashreport_upgrade:1.3.5'
  200. implementation(name: 'alipaySdk-15.5.9', ext: 'aar')
  201. implementation(name: 'ad_dk_sdk', ext: 'aar')
  202. //其中latest.release指代最新版本号,也可以指定明确的版本号,例如1.2.0
  203. implementation 'com.tencent.bugly:nativecrashreport:3.3.1'
  204. //其中latest.release指代最
  205. implementation "com.tencent.mm.opensdk:wechat-sdk-android-with-mta:5.1.6"
  206. // implementation 'de.hdodenhof:circleimageview:2.2.0'
  207. implementation 'org.xutils:xutils:3.5.0'
  208. // implementation 'com.mylhyl:acp:1.1.7'
  209. implementation('cn.yipianfengye.android:zxing-library:2.2') {
  210. // exclude group: 'com.android.support', module: 'appcompat-v7'
  211. // exclude group: 'com.android.support', module: 'support-v4'
  212. }
  213. implementation(name: 'newbie-guide-2.4.0.1', ext: 'aar')
  214. debugImplementation 'androidx.multidex:multidex:2.0.0'
  215. //不要修改这里,相信我
  216. releaseImplementation 'androidx.multidex:multidex:2.0.0'
  217. implementation(name: 'com.kfzs.safe-202403062150', ext: 'aar')
  218. implementation 'com.jakewharton:butterknife:10.0.0'
  219. annotationProcessor 'com.jakewharton:butterknife-compiler:10.0.0'
  220. compileOnly 'org.glassfish:javax.annotation:10.0-b28'
  221. implementation 'com.google.dagger:dagger:2.12'
  222. annotationProcessor 'com.google.dagger:dagger-compiler:2.12'
  223. implementation('com.squareup.retrofit2:retrofit:2.4.0') {
  224. exclude group: 'com.google.android', module: 'android'
  225. exclude group: 'com.squareup.okhttp3', module: 'okhttp'
  226. exclude group: 'org.codehaus.mojo', module: 'animal-sniffer-annotations'
  227. }
  228. implementation(name: 'oaid_sdk_1.0.25', ext: 'aar')
  229. implementation('org.ligboy.retrofit2:converter-fastjson-android:2.1.0') {
  230. exclude group: 'com.alibaba', module: 'fastjson'
  231. exclude group: 'com.squareup.retrofit2', module: 'retrofit'
  232. }
  233. implementation('com.squareup.retrofit2:adapter-rxjava2:2.5.0') {
  234. exclude group: 'com.squareup.retrofit2', module: 'retrofit'
  235. exclude group: 'io.reactivex.rxjava2', module: 'rxjava'
  236. }
  237. //rxjava
  238. implementation('io.reactivex.rxjava2:rxandroid:2.1.0') {
  239. exclude group: 'io.reactivex.rxjava2', module: 'rxjava'
  240. }
  241. implementation 'io.reactivex.rxjava2:rxjava:2.2.3'
  242. //获取动态权限三方库
  243. implementation('pub.devrel:easypermissions:1.2.0') {
  244. }
  245. //友盟
  246. implementation 'com.umeng.sdk:common:1.5.3'
  247. //implementation 'com.umeng.sdk:analytics:latest.integration'
  248. //添加半袋米相关
  249. implementation(name: 'appstoreutils-201810101432', ext: 'aar')
  250. implementation project(':view')
  251. // implementation(name: 'view-release', ext: 'aar')
  252. // implementation 'com.flipboard:bottomsheet-core:1.5.3'
  253. // implementation 'com.flipboard:bottomsheet-commons:1.5.3'
  254. // implementation files('libs/open_sdk_r5923_lite.jar')
  255. // implementation files('libs/wechat-sdk-android-with-mta-1.1.6.jar')
  256. implementation files('libs/umeng_social_tool.jar')
  257. implementation files('libs/umeng_social_shareboard.jar')
  258. implementation files('libs/umeng_social_net.jar')
  259. implementation files('libs/umeng_social_api.jar')
  260. implementation files('libs/umeng_shareboard_widget.jar')
  261. implementation files('libs/SocialSDK_WeiXin_Full.jar')
  262. implementation files('libs/SocialSDK_QQ_Full.jar')
  263. implementation('com.zhy:okhttputils:2.6.2') {
  264. exclude group: 'com.squareup.okhttp3', module: 'okhttp'
  265. }
  266. // implementation 'com.squareup.okhttp3:okhttp:3.11.0'
  267. implementation 'androidx.annotation:annotation:1.0.0'
  268. implementation('androidx.recyclerview:recyclerview:1.0.0') {
  269. // exclude group: 'com.android.support', module: 'support-annotations'
  270. // exclude group: 'com.android.support', module: 'support-compat'
  271. // exclude group: 'com.android.support', module: 'support-core-ui'
  272. }
  273. // implementation('com.github.ithedan:TextViewDrawable:v1.0') {
  274. // exclude group: 'com.android.support', module: 'appcompat-v7'
  275. // }
  276. // implementation 'com.github.zhangkexpz:LayoutScroll:v1.0'
  277. // implementation 'me.iwf.photopicker:PhotoPicker:0.9.12@aar'
  278. implementation(name: 'PhotoPicker-release-20200506', ext: 'aar')
  279. implementation('com.github.bumptech.glide:glide:4.9.0') {
  280. // exclude group: 'com.android.support', module: 'support-fragment'
  281. // exclude group: 'com.github.bumptech.glide', module: 'gifdecoder'
  282. // exclude group: 'com.github.bumptech.glide', module: 'disklrucache'
  283. // exclude group: 'com.github.bumptech.glide', module: 'annotations'
  284. }
  285. annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
  286. // implementation 'com.github.yalantis:ucrop:2.2.1-native'
  287. // implementation 'com.google.zxing:core:3.3.0'
  288. implementation project(':ucrop')
  289. implementation('com.sunfusheng:marqueeview:1.3.3') {
  290. // exclude group: 'com.android.support', module: 'appcompat-v7'
  291. }
  292. //极光
  293. implementation files('libs/jcore-android-1.2.0.jar')
  294. implementation files('libs/jpush-android-3.1.2.jar')
  295. //定位
  296. implementation files('libs/BaiduLBS_Android.jar')
  297. //幂动科技
  298. implementation(name: 'mdsdk_1031_1_3_7_4', ext: 'aar')
  299. //轮播图
  300. implementation 'com.youth.banner:banner:1.4.10'
  301. //最新版本
  302. //loading
  303. implementation 'com.github.ybq:Android-SpinKit:1.2.0'
  304. // implementation 'com.github.nanchen2251:CompressHelper:1.0.5'
  305. // implementation(name: 'compresshelper-release', ext: 'aar')
  306. implementation files('libs/compresshelper-release.jar')
  307. implementation('com.haibin:calendarview:3.4.8') {
  308. // exclude group: 'com.android.support', module: 'appcompat-v7'
  309. // exclude group: 'com.android.support', module: 'recyclerview-v7'
  310. }
  311. implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-14'
  312. implementation 'org.greenrobot:greendao:3.2.2'
  313. //org.greenrobot', module: 'greendao-api
  314. //okDownload
  315. // core
  316. implementation 'com.liulishuo.okdownload:okdownload:1.0.5'
  317. // provide sqlite to store breakpoints
  318. implementation 'com.liulishuo.okdownload:sqlite:1.0.5'
  319. // provide okhttp to connect to backend
  320. implementation 'com.liulishuo.okdownload:okhttp:1.0.5'
  321. implementation('com.trello.rxlifecycle2:rxlifecycle-components:2.2.2') {
  322. // exclude group: 'com.android.support', module: 'appcompat-v7'
  323. // com.trello.rxlifecycle2', module: 'rxlifecycle-android
  324. exclude group: 'io.reactivex.rxjava2', module: 'rxjava'
  325. }
  326. //
  327. // implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
  328. //有米科技
  329. implementation(name: 'YoumiSdk_v8.3.0_2018-09-20', ext: 'aar')
  330. implementation project(':WaterWaveProgress')
  331. implementation 'androidx.exifinterface:exifinterface:1.0.0'
  332. implementation('com.qiniu:qiniu-android-sdk:7.3.13') {
  333. exclude group: 'com.squareup.okhttp3', module: 'okhttp'
  334. }
  335. api project(':media')
  336. //https://github.com/didi/VirtualAPK
  337. // implementation 'com.didi.virtualapk:core:0.9.8'
  338. //fast json
  339. implementation 'com.alibaba:fastjson:1.2.52'
  340. implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.34'
  341. // implementation 'com.github.yangjie10930:EpMedia:v0.9.5'
  342. //webView 缓存优化初始化 https://github.com/yale8848/CacheWebView
  343. // implementation 'ren.yale.android:cachewebviewlib:2.1.4'
  344. implementation(name: 'cachewebviewlib-2.1.8', ext: 'aar')
  345. //GSYVideoPlayer https://github.com/CarGuo/GSYVideoPlayer
  346. implementation 'com.shuyu:gsyVideoPlayer-java:6.0.3'
  347. //是否需要ExoPlayer模式
  348. implementation 'com.shuyu:GSYVideoPlayer-exo2:6.0.2'
  349. implementation 'com.makeramen:roundedimageview:2.3.0'
  350. //https://github.com/koral--/android-gif-drawable
  351. implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.16'
  352. implementation 'androidx.annotation:annotation:1.0.1'
  353. //鸿途信达 广告sdk
  354. // implementation(name: 'ad-htxd-201901071720', ext: 'aar')
  355. //切换皮肤框架 https://github.com/ximsfei/Android-skin-support
  356. // implementation 'skin.support:skin-support:4.0.1' // skin-support
  357. // implementation 'skin.support:skin-support-appcompat:4.0.1' // skin-support 基础控件支持
  358. // implementation 'skin.support:skin-support-design:4.0.1' // skin-support-design material design 控件支持[可选]
  359. // implementation 'skin.support:skin-support-cardview:4.0.1' // skin-support-cardview CardView 控件支持[可选]
  360. // implementation 'skin.support:skin-support-constraint-layout:4.0.1' // skin-support-constraint-layout ConstraintLayout 控件支持[可选]
  361. implementation project(':skin-support')
  362. // implementation 'skin.support:skin-support:3.1.1' // skin-support 基础控件支持
  363. implementation 'skin.support:skin-support-design:3.1.1'
  364. // skin-support-design material design 控件支持[可选]
  365. implementation 'skin.support:skin-support-cardview:3.1.1'
  366. // skin-support-cardview CardView 控件支持[可选]
  367. implementation 'skin.support:skin-support-constraint-layout:3.1.1'
  368. // skin-support-constraint-layout ConstraintLayout 控件支持[可选]
  369. implementation 'com.r0adkll:slidableactivity:2.0.6'
  370. implementation project(':shortcut_lib')
  371. implementation 'com.github.ly-android:PermissionUtils:1.0.3'
  372. implementation files('libs/ipaynow_base_2.1.9_api1.0.0.jar')
  373. implementation files('libs/ipaynow_wechatpay_v2.0.5.jar')
  374. // implementation(name: 'face-sdk-release', ext: 'aar')
  375. implementation project(':faceplatform-ui')
  376. // implementation project(':faceplatform-release')
  377. implementation 'com.airbnb.android:lottie:2.7.0'
  378. }
  379. static def releaseTime() {
  380. return new Date().format("MMddHHmm", TimeZone.getDefault())
  381. }
  382. //在apk文件后边生成版本号信息
  383. android.applicationVariants.all {
  384. variant ->
  385. variant.outputs.all {
  386. output ->
  387. // if (buildType.name == "release") {
  388. outputFileName = "${productFlavors[0].name}_${buildType.name}_v${versionName}_${versionCode}-${releaseTime()}.apk"
  389. // }
  390. }
  391. }