2025-10-21 05:32:05 +00:00
|
|
|
|
object Version {
|
|
|
|
|
|
|
|
|
|
|
|
object ClassPathVersion {
|
|
|
|
|
|
const val kotlinVersion = "2.1.0"
|
|
|
|
|
|
const val hiltVersion = "2.57"
|
|
|
|
|
|
const val firebaseCrashlyticsVersion = "3.0.6"
|
|
|
|
|
|
const val gmsVersion = "4.4.3"
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const val compileSdk = 35
|
|
|
|
|
|
const val applicationId = "com.remax.visualnovel"
|
|
|
|
|
|
const val minSdk = 26
|
|
|
|
|
|
const val targetSdk = 36
|
|
|
|
|
|
const val versionCode = 1
|
|
|
|
|
|
|
|
|
|
|
|
const val versionName = "1.0.0"
|
|
|
|
|
|
|
|
|
|
|
|
const val kotlinCoroutines = "1.8.0"
|
|
|
|
|
|
const val desugar = "2.1.5"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const val testJunitVersion = "4.13.2"
|
|
|
|
|
|
const val androidTestJunitAndroidExt = "1.1.3"
|
|
|
|
|
|
const val androidTestEspressoCore = "3.4.0"
|
|
|
|
|
|
|
|
|
|
|
|
const val appcompat = "1.6.1"
|
|
|
|
|
|
const val constraintlayout = "2.1.4"
|
|
|
|
|
|
const val flexbox = "3.0.0"
|
|
|
|
|
|
const val coreKtx = "1.8.0"
|
|
|
|
|
|
const val activityKtx = "1.7.0"
|
|
|
|
|
|
const val fragmentKtx = "1.5.0"
|
|
|
|
|
|
|
|
|
|
|
|
const val hiltCompilerVersion = "1.0.0"
|
|
|
|
|
|
|
|
|
|
|
|
//lifecycle
|
|
|
|
|
|
const val lifecycleVersion = "2.6.1"
|
|
|
|
|
|
|
|
|
|
|
|
//dataStroe
|
|
|
|
|
|
const val datastore = "1.0.0"
|
|
|
|
|
|
const val viewpager2 = "1.0.0"
|
|
|
|
|
|
const val multidex = "2.0.1"
|
|
|
|
|
|
const val mmkv = "1.3.1"
|
|
|
|
|
|
const val material = "1.6.1"
|
|
|
|
|
|
const val gson = "2.9.0"
|
|
|
|
|
|
|
|
|
|
|
|
const val firebaseBom = "32.7.4"
|
|
|
|
|
|
const val gmsAuth = "21.0.0"
|
|
|
|
|
|
const val credentials = "1.2.2"
|
|
|
|
|
|
const val googleId = "1.1.0"
|
|
|
|
|
|
|
|
|
|
|
|
//内购
|
|
|
|
|
|
const val billing = "7.0.0"
|
|
|
|
|
|
|
|
|
|
|
|
const val nimlib = "10.9.43"
|
|
|
|
|
|
|
|
|
|
|
|
//rxJava
|
|
|
|
|
|
//目前只有websocket使用,需要单独导入
|
|
|
|
|
|
const val rxAndroid = "2.1.1"
|
|
|
|
|
|
|
|
|
|
|
|
//Retrofit2
|
|
|
|
|
|
const val retrofit2 = "2.9.0"
|
|
|
|
|
|
const val okhttp3LoggingInterceptor = "4.10.0"
|
|
|
|
|
|
|
|
|
|
|
|
const val timber = "5.0.1"
|
|
|
|
|
|
|
|
|
|
|
|
//glide
|
|
|
|
|
|
const val glide = "4.16.0"
|
|
|
|
|
|
const val glideTransformations = "4.3.0"
|
|
|
|
|
|
|
|
|
|
|
|
//新的事件发布、订阅总线库
|
|
|
|
|
|
const val modularEventbus = "1.0.5"
|
|
|
|
|
|
|
|
|
|
|
|
const val magicIndicator = "1.7.0"
|
|
|
|
|
|
|
|
|
|
|
|
const val arouter = "1.5.2"
|
|
|
|
|
|
|
|
|
|
|
|
const val brvah = "3.0.10"
|
|
|
|
|
|
const val swipeMenuLayout = "1.1.4"
|
|
|
|
|
|
const val BRV = "1.5.8"
|
|
|
|
|
|
|
|
|
|
|
|
const val permission = "25.0"
|
|
|
|
|
|
const val lottie = "6.6.2"
|
|
|
|
|
|
|
|
|
|
|
|
//EasyFloat暂不升级
|
|
|
|
|
|
const val easyFloat = "1.3.4"
|
|
|
|
|
|
|
|
|
|
|
|
const val newbieGuide = "v2.4.4"
|
|
|
|
|
|
const val refreshLayout = "2.0.5"
|
|
|
|
|
|
|
|
|
|
|
|
//banner
|
|
|
|
|
|
const val banner = "2.2.2"
|
|
|
|
|
|
const val webSocket = "1.5.1"
|
|
|
|
|
|
|
|
|
|
|
|
//s3文件上传
|
|
|
|
|
|
const val awsAndroid = "2.75.0"
|
|
|
|
|
|
|
|
|
|
|
|
// https://github.com/liangjingkanji/spannable
|
|
|
|
|
|
// https://github.com/TxcA/SpannableX
|
|
|
|
|
|
const val spannable = "1.2.7"
|
|
|
|
|
|
|
|
|
|
|
|
//m4a转MP3转换
|
|
|
|
|
|
const val mp3Recorder = "1.1.4"
|
|
|
|
|
|
|
|
|
|
|
|
const val photoView = "2.3.0"
|
|
|
|
|
|
|
|
|
|
|
|
//图片压缩
|
|
|
|
|
|
const val Luban = "1.1.8"
|
|
|
|
|
|
|
|
|
|
|
|
//键盘监听高度
|
|
|
|
|
|
const val skbGlobal = "0.2.0"
|
|
|
|
|
|
|
|
|
|
|
|
// 修改IME动画的属性、调用FLAG_FULLSCREEN的兼容方案,需要依赖inputview-compat
|
|
|
|
|
|
const val inputView = "1.3.7"
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
object Deps {
|
|
|
|
|
|
|
|
|
|
|
|
object ClassPath {
|
|
|
|
|
|
const val gmsServices =
|
|
|
|
|
|
"com.google.gms:google-services:${Version.ClassPathVersion.gmsVersion}"
|
|
|
|
|
|
|
|
|
|
|
|
const val firebaseCrashlytics =
|
|
|
|
|
|
"com.google.firebase:firebase-crashlytics-gradle:${Version.ClassPathVersion.firebaseCrashlyticsVersion}"
|
|
|
|
|
|
const val hiltPlugin =
|
|
|
|
|
|
"com.google.dagger:hilt-android-gradle-plugin:${Version.ClassPathVersion.hiltVersion}"
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const val desugar = "com.android.tools:desugar_jdk_libs:${Version.desugar}"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const val kotlinCoroutinesCore = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Version.kotlinCoroutines}"
|
|
|
|
|
|
const val kotlinCoroutinesAndroid = "org.jetbrains.kotlinx:kotlinx-coroutines-android:${Version.kotlinCoroutines}"
|
|
|
|
|
|
|
|
|
|
|
|
const val testJunit = "junit:junit:${Version.testJunitVersion}"
|
|
|
|
|
|
const val androidTestJunit = "androidx.test.ext:junit:${Version.androidTestJunitAndroidExt}"
|
|
|
|
|
|
const val androidTestEspresso =
|
|
|
|
|
|
"androidx.test.espresso:espresso-core:${Version.androidTestEspressoCore}"
|
|
|
|
|
|
|
|
|
|
|
|
const val appcompat = "androidx.appcompat:appcompat:${Version.appcompat}"
|
|
|
|
|
|
const val constraintlayout = "androidx.constraintlayout:constraintlayout:${Version.constraintlayout}"
|
|
|
|
|
|
const val flexbox = "com.google.android.flexbox:flexbox:${Version.flexbox}"
|
|
|
|
|
|
const val coreKtx = "androidx.core:core-ktx:${Version.coreKtx}"
|
|
|
|
|
|
const val activityKtx = "androidx.activity:activity-ktx:${Version.activityKtx}"
|
|
|
|
|
|
const val activityCompose = "androidx.activity:activity-compose:${Version.activityKtx}"
|
|
|
|
|
|
const val fragmentKtx = "androidx.fragment:fragment-ktx:${Version.fragmentKtx}"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ViewModel
|
|
|
|
|
|
const val viewModel = "androidx.lifecycle:lifecycle-viewmodel-ktx:${Version.lifecycleVersion}"
|
|
|
|
|
|
|
|
|
|
|
|
// Lifecycles only (without ViewModel or LiveData)
|
|
|
|
|
|
const val lifecycleRuntime = "androidx.lifecycle:lifecycle-runtime-ktx:${Version.lifecycleVersion}"
|
|
|
|
|
|
|
|
|
|
|
|
// LiveData
|
|
|
|
|
|
const val livedata = "androidx.lifecycle:lifecycle-livedata-ktx:${Version.lifecycleVersion}"
|
|
|
|
|
|
|
|
|
|
|
|
// alternately - if using Java8, use the following instead of lifecycle-compiler
|
|
|
|
|
|
const val lifecycleJava8 = "androidx.lifecycle:lifecycle-common-java8:${Version.lifecycleVersion}"
|
|
|
|
|
|
|
|
|
|
|
|
//datastore
|
|
|
|
|
|
const val datastore = "androidx.datastore:datastore-preferences:${Version.datastore}"
|
|
|
|
|
|
// hilt
|
|
|
|
|
|
const val hilt = "com.google.dagger:hilt-android:${Version.ClassPathVersion.hiltVersion}"
|
|
|
|
|
|
const val hiltAndroidCompiler = "com.google.dagger:hilt-android-compiler:${Version.ClassPathVersion.hiltVersion}"
|
|
|
|
|
|
const val hiltCompiler = "androidx.hilt:hilt-compiler:${Version.hiltCompilerVersion}"
|
|
|
|
|
|
|
|
|
|
|
|
const val viewpager2 = "androidx.viewpager2:viewpager2:${Version.viewpager2}"
|
|
|
|
|
|
const val multidex = "androidx.multidex:multidex:${Version.multidex}"
|
|
|
|
|
|
|
|
|
|
|
|
//mmkv本地存储
|
|
|
|
|
|
const val mmkv = "com.tencent:mmkv:${Version.mmkv}"
|
|
|
|
|
|
|
|
|
|
|
|
const val material = "com.google.android.material:material:${Version.material}"
|
|
|
|
|
|
const val gson = "com.google.code.gson:gson:${Version.gson}"
|
|
|
|
|
|
|
|
|
|
|
|
//云信
|
|
|
|
|
|
const val nimBase = "com.netease.nimlib:basesdk:${Version.nimlib}"
|
|
|
|
|
|
const val nimPush = "com.netease.nimlib:push:${Version.nimlib}"
|
|
|
|
|
|
|
|
|
|
|
|
const val firebaseBom = "com.google.firebase:firebase-bom:${Version.firebaseBom}"
|
|
|
|
|
|
|
|
|
|
|
|
//推送
|
|
|
|
|
|
const val firebaseMessageKtx = "com.google.firebase:firebase-messaging-ktx"
|
|
|
|
|
|
|
|
|
|
|
|
//埋点
|
|
|
|
|
|
const val firebaseAnalyticsKtx = "com.google.firebase:firebase-analytics-ktx"
|
|
|
|
|
|
|
|
|
|
|
|
//崩溃上报
|
|
|
|
|
|
const val firebaseCrashlyticsKtx = "com.google.firebase:firebase-crashlytics-ktx"
|
|
|
|
|
|
|
|
|
|
|
|
//认证
|
|
|
|
|
|
const val firebaseAuthKtx = "com.google.firebase:firebase-auth-ktx"
|
|
|
|
|
|
|
|
|
|
|
|
// App Check 库
|
|
|
|
|
|
const val firebaseAppCheck = "com.google.firebase:firebase-appcheck-playintegrity"
|
|
|
|
|
|
|
|
|
|
|
|
// 以下先升级到 android 34
|
|
|
|
|
|
const val credentials = "androidx.credentials:credentials:${Version.credentials}"
|
|
|
|
|
|
const val credentialsAuth = "androidx.credentials:credentials-play-services-auth:${Version.credentials}"
|
|
|
|
|
|
const val googleId = "com.google.android.libraries.identity.googleid:googleid:${Version.googleId}"
|
|
|
|
|
|
|
|
|
|
|
|
//内购
|
|
|
|
|
|
const val billing = "com.android.billingclient:billing:${Version.billing}"
|
|
|
|
|
|
|
|
|
|
|
|
const val rxAndroid = "io.reactivex.rxjava2:rxandroid:${Version.rxAndroid}"
|
|
|
|
|
|
//Retrofit2
|
|
|
|
|
|
const val retrofit2 = "com.squareup.retrofit2:retrofit:${Version.retrofit2}"
|
|
|
|
|
|
const val retrofitAdapterRxjava2 = "com.squareup.retrofit2:adapter-rxjava2:${Version.retrofit2}"
|
|
|
|
|
|
const val retrofit2ConverterGson = "com.squareup.retrofit2:converter-gson:${Version.retrofit2}"
|
|
|
|
|
|
const val okhttp3LoggingInterceptor = "com.squareup.okhttp3:logging-interceptor:${Version.okhttp3LoggingInterceptor}"
|
|
|
|
|
|
|
|
|
|
|
|
const val timber = "com.jakewharton.timber:timber:${Version.timber}"
|
|
|
|
|
|
|
|
|
|
|
|
//glide
|
|
|
|
|
|
const val glide = "com.github.bumptech.glide:glide:${Version.glide}"
|
|
|
|
|
|
const val glideCompiler = "com.github.bumptech.glide:compiler:${Version.glide}"
|
|
|
|
|
|
const val glideTransformations = "jp.wasabeef:glide-transformations:${Version.glideTransformations}"
|
|
|
|
|
|
const val glideWebpdecoder = "com.github.zjupure:webpdecoder:2.6.${Version.glide}"
|
|
|
|
|
|
|
|
|
|
|
|
const val modularEventbus = "io.github.pengxurui:modular-eventbus-api:${Version.modularEventbus}"
|
|
|
|
|
|
const val modularEventbusCompiler = "io.github.pengxurui:modular-eventbus-compiler:${Version.modularEventbus}"
|
|
|
|
|
|
|
|
|
|
|
|
const val magicIndicator = "com.github.hackware1993:MagicIndicator:${Version.magicIndicator}"
|
|
|
|
|
|
|
|
|
|
|
|
const val arouter = "com.alibaba:arouter-api:${Version.arouter}"
|
|
|
|
|
|
const val arouterCompiler = "com.alibaba:arouter-compiler:${Version.arouter}"
|
|
|
|
|
|
|
|
|
|
|
|
const val brvah = "com.github.CymChad:BaseRecyclerViewAdapterHelper:${Version.brvah}"
|
|
|
|
|
|
const val swipeMenuLayout = "com.github.anzaizai:EasySwipeMenuLayout:${Version.swipeMenuLayout}"
|
|
|
|
|
|
const val BRV = "com.github.liangjingkanji:BRV:${Version.BRV}"
|
|
|
|
|
|
|
|
|
|
|
|
const val permission = "com.github.getActivity:XXPermissions:${Version.permission}"
|
|
|
|
|
|
const val lottie = "com.airbnb.android:lottie:${Version.lottie}"
|
|
|
|
|
|
|
|
|
|
|
|
//EasyFloat暂不升级
|
|
|
|
|
|
const val easyFloat = "com.github.princekin-f:EasyFloat:${Version.easyFloat}"
|
|
|
|
|
|
|
|
|
|
|
|
const val newbieGuide = "com.github.huburt-Hu:NewbieGuide:${Version.newbieGuide}"
|
|
|
|
|
|
const val refreshLayout = "io.github.scwang90:refresh-layout-kernel:${Version.refreshLayout}"
|
|
|
|
|
|
|
|
|
|
|
|
//banner
|
|
|
|
|
|
const val banner = "io.github.youth5201314:banner:${Version.banner}"
|
|
|
|
|
|
const val webSocket = "org.java-websocket:Java-WebSocket:${Version.webSocket}"
|
|
|
|
|
|
|
|
|
|
|
|
//s3图片上传
|
|
|
|
|
|
const val awsS3 = "com.amazonaws:aws-android-sdk-s3:${Version.awsAndroid}"
|
|
|
|
|
|
const val awsCore = "com.amazonaws:aws-android-sdk-core:${Version.awsAndroid}"
|
|
|
|
|
|
|
|
|
|
|
|
const val spannablex = "com.github.liangjingkanji:spannable:${Version.spannable}"
|
|
|
|
|
|
|
|
|
|
|
|
//m4a转MP3转换
|
|
|
|
|
|
const val mp3Recorder = "com.github.zhang-hai:Mp3Recorder:${Version.mp3Recorder}"
|
|
|
|
|
|
|
|
|
|
|
|
//大图显示
|
|
|
|
|
|
const val photoView = "com.github.chrisbanes:PhotoView:${Version.photoView}"
|
|
|
|
|
|
const val transition = "androidx.transition:transition:1.4.1"
|
|
|
|
|
|
const val paging = "androidx.paging:paging-runtime-ktx:3.1.1"
|
|
|
|
|
|
const val exoplayer = "com.google.android.exoplayer:exoplayer:2.18.0"
|
|
|
|
|
|
const val subsamplingScaleImageView = "com.davemorrissey.labs:subsampling-scale-image-view-androidx:3.10.0"
|
|
|
|
|
|
|
|
|
|
|
|
const val Luban = "com.github.Curzibn:Luban:${Version.Luban}"
|
|
|
|
|
|
|
|
|
|
|
|
const val BlurView = "com.github.Dimezis:BlurView:version-2.0.6"
|
|
|
|
|
|
|
|
|
|
|
|
const val skbGlobal = "com.github.boybeak:skb-global:${Version.skbGlobal}"
|
|
|
|
|
|
|
|
|
|
|
|
const val apng = "com.github.sahasbhop:apng-view:1.3"
|
|
|
|
|
|
const val BytePlusRTC = "com.byteplus:BytePlusRTC:3.58.1.15100"
|
|
|
|
|
|
|
|
|
|
|
|
//inputview
|
|
|
|
|
|
const val inputView = "com.github.xiaocydx.InputView:inputview:${Version.inputView}"
|
|
|
|
|
|
const val inputViewCompat = "com.github.xiaocydx.InputView:inputview-compat:${Version.inputView}"
|
|
|
|
|
|
const val inputViewTransform = "com.github.xiaocydx.InputView:inputview-transform:${Version.inputView}"
|
|
|
|
|
|
|
2025-11-04 05:37:42 +00:00
|
|
|
|
// immersionbar
|
|
|
|
|
|
const val immersionbar = "com.geyifeng.immersionbar:immersionbar:3.2.2"
|
|
|
|
|
|
const val immersionbarktx = "com.geyifeng.immersionbar:immersionbar-ktx:3.2.2"
|
|
|
|
|
|
|
2025-10-21 05:32:05 +00:00
|
|
|
|
}
|
|
|
|
|
|
|