build.gradle 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. plugins {
  2. alias(libs.plugins.kotlin.android)
  3. id("com.android.library")
  4. id("org.jetbrains.kotlin.plugin.parcelize")
  5. id("kotlin-kapt")
  6. }
  7. android {
  8. namespace = "com.narutohuo.xindazhou.share"
  9. compileSdk = 36
  10. defaultConfig {
  11. minSdk = 26
  12. }
  13. // ARouter 配置(Kotlin 方式)
  14. kapt {
  15. arguments {
  16. arg("AROUTER_MODULE_NAME", project.getName())
  17. }
  18. }
  19. compileOptions {
  20. sourceCompatibility = JavaVersion.VERSION_17
  21. targetCompatibility = JavaVersion.VERSION_17
  22. }
  23. kotlinOptions {
  24. jvmTarget = "17"
  25. }
  26. }
  27. repositories {
  28. flatDir {
  29. dirs 'libs'
  30. }
  31. // 添加 Maven 仓库(微信和QQ SDK可能需要)
  32. mavenCentral()
  33. google()
  34. }
  35. dependencies {
  36. // 直接依赖 base-core(能力层只需要 base-core 的接口和基础能力)
  37. // base-core 提供接口定义(IShareService)和基础实现(ILog、NetworkManager)
  38. implementation(project(":base-core"))
  39. // ARouter(用于依赖注入,实现 base-core 与 share 模块的解耦)
  40. // base-core 已经通过 api 传递了 arouter-api,这里只需要添加编译器
  41. kapt("com.alibaba:arouter-compiler:1.5.2")
  42. // AndroidX Fragment(用于弹窗)
  43. implementation("androidx.fragment:fragment-ktx:1.8.2")
  44. // Material Design(用于底部弹窗)
  45. implementation("com.google.android.material:material:1.12.0")
  46. // 日志通过 base-core 的 ILog 接口统一管理
  47. // 友盟分享SDK(按照官方文档配置)
  48. // 注意:需要在友盟官网注册应用获取 AppKey,并在 AndroidManifest.xml 中配置
  49. // 友盟基础组件库(所有友盟业务SDK都依赖基础组件库)
  50. implementation("com.umeng.umsdk:common:+") // 必选
  51. implementation("com.umeng.umsdk:asms:+") // 必选
  52. // 高级运营分析功能依赖库(可选,使用U-App卸载分析、开启反作弊能力请务必集成)
  53. // common需搭配v9.6.3及以上版本,asms需搭配v1.7.0及以上版本。需更新隐私声明。
  54. implementation("com.umeng.umsdk:uyumao:+")
  55. // 分享核心库(必选)
  56. implementation("com.umeng.umsdk:share-core:+")
  57. // 友盟分享面板
  58. implementation("com.umeng.umsdk:share-board:7.3.2")
  59. // 微信分享(完整版)- 使用本地完整版 JAR 文件
  60. api(files('libs/umeng-share-wechat-full-7.3.7.jar')) // 使用 api 让依赖传递到 app 模块
  61. api("com.tencent.mm.opensdk:wechat-sdk-android:6.8.24") // 使用 api 让依赖传递到 app 模块
  62. // 新浪微博分享(完整版)- 使用本地完整版 JAR 文件
  63. implementation(files('libs/umeng-share-sina-full-7.3.7.jar'))
  64. implementation("io.github.sinaweibosdk:core:13.10.1") {
  65. exclude module: 'unspecified'
  66. exclude group: 'com.android.support'
  67. }
  68. // QQ分享(完整版)- 使用本地完整版 JAR 文件
  69. implementation(files('libs/umeng-share-QQ-full-7.3.7.jar'))
  70. // QQ官方依赖库(已从 Android/share/share_android_7.3.7/platforms/QQ完整版/libs/ 复制到 libs 目录)
  71. implementation(files('libs/open_sdk_3.5.16.4_r8c01346_lite.jar'))
  72. // 抖音分享(完整版)- 使用本地完整版 JAR 文件
  73. // 注意:DYCallbackActivity 需要字节跳动的 SDK 依赖 IApiEventHandler
  74. // 由于字节跳动 SDK 在 Maven 仓库找不到,暂时不添加抖音 SDK
  75. // 等从字节跳动开放平台下载 SDK 并放到 libs 目录后,再启用:
  76. // api(files('libs/umeng-share-bytedance-7.3.7.jar'))
  77. // api(files('libs/opensdk-china-external-0.1.9.0.jar'))
  78. // api(files('libs/opensdk-common-0.1.9.0.jar'))
  79. // 注意:小红书和快手可能需要使用其他SDK或直接调用平台SDK
  80. // 如果友盟不支持,可以后续添加对应的SDK依赖
  81. }