提升所有库的版本

This commit is contained in:
BBIT-Kai
2026-05-28 11:37:05 +08:00
parent d1bc715aac
commit fa53a69d2b
9 changed files with 117 additions and 228 deletions
+76 -124
View File
@@ -1,17 +1,13 @@
import com.android.build.api.dsl.Packaging
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.jetbrains.kotlin.android)
alias(libs.plugins.compose.compiler)
id("com.android.application")
id("org.jetbrains.kotlin.plugin.compose")
id("com.google.devtools.ksp")
id("com.google.dagger.hilt.android")
id("kotlin-kapt")
}
android {
namespace = "com.bbitcn.f8.pad"
compileSdk = 35
compileSdk = 36
defaultConfig {
applicationId = "com.bbitcn.f8.pad"
@@ -30,12 +26,6 @@ android {
}
signingConfigs {
// create("config") {
// keyAlias = "key0"
// keyPassword = "123456"
// storeFile = file("../key/key.jks")
// storePassword = "123456"
// }
getByName("debug") {
keyAlias = "key0"
keyPassword = "123456"
@@ -44,9 +34,9 @@ android {
storePassword = "123456"
}
}
buildTypes {
release {
// signingConfig = signingConfigs.getByName("config")
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
@@ -55,144 +45,106 @@ android {
}
}
// composeCompiler {
// 强力跳过模式
// enableStrongSkippingMode = true
// }
compileOptions {
sourceCompatibility = JavaVersion.VERSION_21
targetCompatibility = JavaVersion.VERSION_21
}
kotlinOptions {
jvmTarget = "21"
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.1"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
excludes += setOf(
"/META-INF/{AL2.0,LGPL2.1}",
"META-INF/DEPENDENCIES",
"common.properties"
)
}
}
sourceSets {
getByName("main") {
jniLibs.srcDirs("libs")
}
}
fun Packaging.() {
resources {
excludes += setOf("META-INF/DEPENDENCIES", "common.properties")
}
}
kotlin {
compilerOptions {
jvmTarget = org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_21
}
}
dependencies {
// 打印机驱动CPCL_SDK_V1
// 身份证驱动zkandroidcore
implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar", "*.aar"))))
// NFC需要
// implementation("com.google.guava:guava:14.0")
implementation("com.google.guava:guava:30.1-jre")
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
implementation(libs.androidx.core.splashscreen)
//lifecycle-viewmodel-compose
implementation(libs.androidx.lifecycle.viewmodel.compose)
implementation(libs.androidx.material.icons.extended)
//MMKV
implementation(libs.mmkv)
//util
implementation(libs.com.blankj.utilcodex2)
//GSON
implementation(libs.com.google.code.gson.gson2)
//权限库
implementation(libs.com.github.getactivity.xxpermissions)
//日志库
implementation(libs.timber)
implementation(libs.androidx.legacy.legacy.support.v43)
implementation(libs.androidx.navigation.compose)
//日期下拉框
implementation(libs.android.pickerview)
implementation("io.github.ltttttttttttt:ComposeViews:1.6.0.1")
implementation("com.google.guava:guava:33.6.0-jre")
implementation("androidx.core:core-ktx:1.18.0")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.10.0")
implementation("androidx.activity:activity-compose:1.13.0")
implementation(platform("androidx.compose:compose-bom:2026.05.01"))
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.ui:ui-graphics")
implementation("androidx.compose.ui:ui-tooling-preview")
implementation("androidx.compose.material:material-icons-extended")
implementation("androidx.compose.material3:material3")
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:2.10.0")
implementation("androidx.core:core-splashscreen:1.2.0")
implementation("androidx.legacy:legacy-support-v4:1.0.0")
implementation("androidx.navigation:navigation-compose:2.9.8")
implementation("androidx.hilt:hilt-navigation-compose:1.3.0")
implementation("com.tencent:mmkv:2.4.0")
implementation("com.blankj:utilcodex:1.31.1")
implementation("com.google.code.gson:gson:2.14.0")
implementation("com.github.getActivity:XXPermissions:28.2")
implementation("com.jakewharton.timber:timber:5.0.1")
implementation("com.contrarywind:Android-PickerView:4.1.9")
implementation("io.github.ltttttttttttt:ComposeViews:1.10.0.2")
implementation("com.inuker.bluetooth:library:1.4.0")
//RxJava
// implementation("io.reactivex.rxjava2:rxjava:2.2.20")
// implementation("io.reactivex.rxjava2:rxandroid:2.1.1")
// implementation("com.jakewharton.rxbinding2:rxbinding:2.2.0")
// implementation("com.github.xuexiangjys:RxUtil2:1.2.1")
// MD3
implementation("androidx.compose.material3:material3:1.4.0-alpha12")
//
implementation("com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.5")
//gson
implementation("com.google.code.gson:gson:2.9.0")
implementation("com.squareup.retrofit2:retrofit:2.11.0")
implementation("com.squareup.retrofit2:converter-gson:2.11.0")
implementation("com.google.dagger:hilt-android:2.52")
kapt("com.google.dagger:hilt-compiler:2.52")
implementation("androidx.hilt:hilt-navigation-compose:1.0.0")
implementation("com.github.devnied.emvnfccard:library:3.0.1")
// 日历
implementation("com.squareup.okhttp3:logging-interceptor:5.3.2")
implementation("com.squareup.retrofit2:retrofit:3.0.0")
implementation("com.squareup.retrofit2:converter-gson:3.0.0")
implementation("com.google.dagger:hilt-android:2.59.2")
ksp("com.google.dagger:hilt-android-compiler:2.59.2")
implementation("com.github.devnied.emvnfccard:library:3.1.0")
implementation("com.xhinliang:LunarCalendar:4.0.7")
// 网络图片加载
implementation("io.coil-kt.coil3:coil-compose:3.0.4")
implementation("io.coil-kt.coil3:coil-network-okhttp:3.0.4")
// Paging3
val paging_version = "3.3.2"
implementation("androidx.paging:paging-runtime:$paging_version")
// optional - Jetpack Compose integration
implementation("androidx.paging:paging-compose:$paging_version")
// 阿里云接口
implementation("com.aliyun:ocr_api20210707:3.1.2")
// CameraX core library using the camera2 implementation
val camerax_version = "1.5.0-alpha04"
// The following line is optional, as the core library is included indirectly by camera-camera2
implementation("androidx.camera:camera-core:${camerax_version}")
implementation("androidx.camera:camera-compose:${camerax_version}")
implementation("androidx.camera:camera-camera2:${camerax_version}")
// If you want to additionally use the CameraX Lifecycle library
implementation("androidx.camera:camera-lifecycle:${camerax_version}")
// If you want to additionally use the CameraX VideoCapture library
implementation("androidx.camera:camera-video:${camerax_version}")
// If you want to additionally use the CameraX View class
implementation("androidx.camera:camera-view:${camerax_version}")
// If you want to additionally add CameraX ML Kit Vision Integration
implementation("androidx.camera:camera-mlkit-vision:${camerax_version}")
// If you want to additionally use the CameraX Extensions library
implementation("androidx.camera:camera-extensions:${camerax_version}")
// implementation("androidx.camera.viewfinder:viewfinder-compose:${camerax_version}")
// implementation("androidx.camera:camera-viewfinder-compose:1.0.0-alpha02")
implementation("io.coil-kt.coil3:coil-compose:3.4.0")
implementation("io.coil-kt.coil3:coil-network-okhttp:3.4.0")
// 串口-超高频读卡器
api("com.licheedev:android-serialport:2.1.3")
// 条形码
implementation("com.google.zxing:core:3.5.3")
// 人脸识别 7M
val pagingVersion = "3.5.0"
implementation("androidx.paging:paging-runtime:$pagingVersion")
implementation("androidx.paging:paging-compose:$pagingVersion")
val cameraXVersion = "1.6.1"
implementation("androidx.camera:camera-core:$cameraXVersion")
implementation("androidx.camera:camera-compose:$cameraXVersion")
implementation("androidx.camera:camera-camera2:$cameraXVersion")
implementation("androidx.camera:camera-lifecycle:$cameraXVersion")
implementation("androidx.camera:camera-video:$cameraXVersion")
implementation("androidx.camera:camera-view:$cameraXVersion")
implementation("androidx.camera:camera-mlkit-vision:$cameraXVersion")
implementation("androidx.camera:camera-extensions:$cameraXVersion")
api("com.licheedev:android-serialport:2.1.5")
implementation("com.google.zxing:core:3.5.4")
implementation("com.google.mlkit:face-detection:16.1.7")
// 阿里云OSS
// implementation("com.aliyun.oss:aliyun-sdk-oss:3.18.1")
implementation("com.aliyun.dpa:oss-android-sdk:2.9.21")
// USB驱动
implementation("com.aliyun:ocr_api20210707:3.1.3")
implementation("com.github.mik3y:usb-serial-for-android:3.8.1")
// 日期时间选择器
implementation("com.github.commandiron:WheelPickerCompose:1.1.11")
// 图表组件
implementation("io.github.ehsannarmani:compose-charts:0.1.2")
implementation("io.github.ehsannarmani:compose-charts:0.2.5")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
androidTestImplementation(platform("androidx.compose:compose-bom:2026.05.01"))
androidTestImplementation("androidx.compose.ui:ui-test-junit4")
debugImplementation("androidx.compose.ui:ui-tooling")
debugImplementation("androidx.compose.ui:ui-test-manifest")
}
+2 -2
View File
@@ -25,14 +25,14 @@ import timber.log.Timber
* @Author DuanKaiji
* @CreateTime 2024年03月27日 13:43
*/
val M = Modifier
val MD = Modifier
.animateContentSize(
animationSpec = spring(
dampingRatio = Spring.DampingRatioLowBouncy,
stiffness = Spring.StiffnessLow
)
)
val MD = Modifier
val M = Modifier
val IS_DEBUG_DRYCOCOON = false // 是否是调试状态
@@ -79,7 +79,6 @@ import com.cyberecho.ui.view.JumpToBottom
import com.cyberecho.ui.view.JumpToTop
import com.google.common.collect.Multimaps.index
import kotlinx.coroutines.launch
import org.slf4j.helpers.Reporter.info
import kotlin.collections.map
@Composable
@@ -4,18 +4,15 @@ import com.bbitcn.f8.pad.base.BaseViewModel
import com.bbitcn.f8.pad.utils.log.MyLog
import com.blankj.utilcode.util.ActivityUtils
import com.hjq.permissions.OnPermissionCallback
import com.hjq.permissions.Permission
import com.hjq.permissions.XXPermissions
import com.hjq.permissions.permission.PermissionLists
import com.hjq.permissions.permission.base.IPermission
class MainActivityViewModel :BaseViewModel() {
class MainActivityViewModel : BaseViewModel() {
init {
doInIoThreadNoDialog {
checkPermission()
// 初始化NfcAdapter
// Printer.init()
// WaterCutMeter.init()
// Balance.init()
}
}
@@ -24,37 +21,35 @@ class MainActivityViewModel :BaseViewModel() {
*/
fun checkPermission() {
XXPermissions.with(ActivityUtils.getTopActivity())
.permission(Permission.WRITE_EXTERNAL_STORAGE)
.permission(Permission.READ_PHONE_STATE)
// 定位
.permission(Permission.ACCESS_FINE_LOCATION)
.permission(Permission.ACCESS_COARSE_LOCATION)
// 蓝牙
.permission(Permission.BLUETOOTH_SCAN)
.permission(Permission.BLUETOOTH_CONNECT)
.permission(Permission.BLUETOOTH_ADVERTISE)
// 录音
.permission(Permission.RECORD_AUDIO)
// 安装应用
.permission(Permission.REQUEST_INSTALL_PACKAGES)
// 相机
.permission(Permission.CAMERA)
.permission(PermissionLists.getWriteExternalStoragePermission())
.permission(PermissionLists.getReadPhoneStatePermission())
.permission(PermissionLists.getAccessFineLocationPermission())
.permission(PermissionLists.getAccessCoarseLocationPermission())
.permission(PermissionLists.getBluetoothScanPermission())
.permission(PermissionLists.getBluetoothConnectPermission())
.permission(PermissionLists.getBluetoothAdvertisePermission())
.permission(PermissionLists.getRecordAudioPermission())
.permission(PermissionLists.getRequestInstallPackagesPermission())
.permission(PermissionLists.getCameraPermission())
.request(object : OnPermissionCallback {
override fun onGranted(permissions: List<String>, allGranted: Boolean) {
if (!allGranted) {
MyLog.appError("获取部分权限成功,以下权限未获得")
for (permission in permissions) {
MyLog.appError(permission)
}
// XXPermissions.startPermissionActivity(context, permissions) //todo
override fun onResult(
grantedPermissions: MutableList<IPermission>,
deniedPermissions: MutableList<IPermission>
) {
if (deniedPermissions.isEmpty()) {
return
}
}
override fun onDenied(permissions: List<String>, doNotAskAgain: Boolean) {
if (doNotAskAgain) {
MyLog.app("被永久拒绝授权,需手动授予权限")
// 如果是被永久拒绝就跳转到应用权限系统设置页面
// XXPermissions.startPermissionActivity(context, permissions)
MyLog.appError("获取部分权限成功,以下权限未获得")
for (permission in deniedPermissions) {
MyLog.appError(permission.permissionName)
}
val activity = ActivityUtils.getTopActivity()
if (activity != null &&
XXPermissions.isDoNotAskAgainPermissions(activity, deniedPermissions)
) {
MyLog.app("被永久拒绝授权,需要手动授予权限")
} else {
MyLog.appError("权限请求失败")
}
@@ -51,7 +51,6 @@ import com.bbitcn.f8.pad.ui.screen.view.common.CombinedDropdownMenu
import com.bbitcn.f8.pad.ui.theme.MyColors
import com.bbitcn.f8.pad.utils.MyUtil
import kotlinx.coroutines.launch
import org.slf4j.helpers.Reporter.info
@Preview(showBackground = true)
@Composable
@@ -20,7 +20,6 @@ import com.inuker.bluetooth.library.search.response.SearchResponse
import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.flow.asStateFlow
import org.bouncycastle.crypto.params.Blake3Parameters.context
import java.io.UnsupportedEncodingException
import java.nio.charset.Charset
import kotlin.getValue
+4 -6
View File
@@ -1,8 +1,6 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
alias(libs.plugins.android.application) apply false
alias(libs.plugins.jetbrains.kotlin.android) apply false
id("com.google.devtools.ksp") version "2.0.0-1.0.24" apply false
id("com.google.dagger.hilt.android") version "2.52" apply false
alias(libs.plugins.compose.compiler) apply false
id("com.android.application") version "9.2.1" apply false
id("org.jetbrains.kotlin.plugin.compose") version "2.3.21" apply false
id("com.google.devtools.ksp") version "2.3.9" apply false
id("com.google.dagger.hilt.android") version "2.59.2" apply false
}
-52
View File
@@ -1,52 +0,0 @@
[versions]
agp = "8.10.1"
kotlin = "2.1.0"
coreKtx = "1.10.1"
junit = "4.13.2"
junitVersion = "1.1.5"
espressoCore = "3.5.1"
lifecycleRuntimeKtx = "2.6.1"
activityCompose = "1.8.0-alpha07"
composeBom = "2024.05.00"
androidPickerview = "4.1.9"
androidxLegacyLegacySupportV4 = "1.0.0"
blankjUtilcodexVersion = "1.31.1"
googleGsonVersion = "2.10.1"
githubXxpermissionsVersion = "18.5"
mmkv = "1.2.13"
timber = "5.0.1"
navigationCompose = "2.7.7"
coreSplashscreen = "1.0.1"
[libraries]
androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
androidx-ui = { group = "androidx.compose.ui", name = "ui" }
androidx-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycleRuntimeKtx" }
androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "navigationCompose" }
com-github-getactivity-xxpermissions = { module = "com.github.getActivity:XXPermissions", version.ref = "githubXxpermissionsVersion" }
com-google-code-gson-gson2 = { module = "com.google.code.gson:gson", version.ref = "googleGsonVersion" }
com-blankj-utilcodex2 = { module = "com.blankj:utilcodex", version.ref = "blankjUtilcodexVersion" }
android-pickerview = { module = "com.contrarywind:Android-PickerView", version.ref = "androidPickerview" }
androidx-legacy-legacy-support-v43 = { module = "androidx.legacy:legacy-support-v4", version.ref = "androidxLegacyLegacySupportV4" }
androidx-material-icons-extended = { module = "androidx.compose.material:material-icons-extended" }
mmkv = { module = "com.tencent:mmkv", version.ref = "mmkv" }
timber = { module = "com.jakewharton.timber:timber", version.ref = "timber" }
androidx-core-splashscreen = { group = "androidx.core", name = "core-splashscreen", version.ref = "coreSplashscreen" }
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" }
androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
[plugins]
android-application = { id = "com.android.application", version.ref = "agp" }
jetbrains-kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
+1 -2
View File
@@ -1,5 +1,4 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
#distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-8.11.1-bin.zip
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-9.5.1-bin.zip
zipStorePath=wrapper/dists