Files
Inbound20260114/app/build.gradle.kts
T
lvmeng c697b4aa65 feat(activity): 添加 Zip 文件下载解压工具和趣味页面
- 新增 ZipDownloadUtils:支持大文件下载、进度回调、断点续传
- 新增 ZipExtractUtils:支持 Zip 文件解压、进度回调、自动创建目录
- 新增 ModelResourceManager:高层资源管理器,协调下载和解压流程
- 新增 FunActivity:趣味测试页面,包含 3 个按钮
  - 按钮 1:下载 Zip 文件
  - 按钮 2:解压 Zip 文件
  - 按钮 3:读取 JSON 并保存到 ObjectBox 数据库
- 新增 activity_fun.xml:趣味页面布局
- 新增 ZipToolsUsageExample:工具使用示例文档
- 改进 ToastUtils:改为 Context 扩展方法 (toast/toastLong)
- 暂时注释 HomeActivity 中 tvTime 的点击事件
2026-03-13 11:27:53 +08:00

162 lines
4.8 KiB
Kotlin

import com.android.tools.r8.internal.fA
plugins {
// alias(libs.plugins.android.application)
// alias(libs.plugins.kotlin.android)
// alias(libs.plugins.kotlin.compose)
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("com.google.dagger.hilt.android")
id("com.google.devtools.ksp")
id("kotlin-parcelize")
// id("compose.compiler")
kotlin("kapt")
// alias(libs.plugins.kotlin.compose)
}
android {
signingConfigs {
getByName("debug") {
storeFile = file("./swkey.jks")
storePassword = "123456"
keyAlias = "android"
keyPassword = "123456"
}
}
namespace = "com.sw.inbound"
compileSdk = 35
defaultConfig {
applicationId = "com.sw.inbound"
minSdk = 24
targetSdk = 35
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
ndk {
abiFilters.addAll(listOf("armeabi-v7a"/*, "arm64-v8a"*/))
}
// 设置输出APK文件名格式
setProperty("archivesBaseName", "入库客户端_${versionName}")
}
buildTypes {
//debug {
// buildConfigField( "boolean", "DEBUG", "true")
//}
release {
//buildConfigField( "boolean", "DEBUG", "false")
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = "11"
}
buildFeatures {
// compose = true
viewBinding = true
buildConfig = true
}
// composeOptions {
// kotlinCompilerExtensionVersion = "1.5.4"
// }
sourceSets {
named("main") {
jniLibs.srcDirs("libs")
}
}
}
val isDebug = gradle.startParameter.taskNames.any {
it.contains("debug", ignoreCase = true)
}
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation("androidx.activity:activity-ktx:1.8.0")
// implementation(platform(libs.androidx.compose.bom))
// implementation(libs.androidx.ui)
// implementation(libs.androidx.ui.graphics)
// implementation(libs.androidx.ui.tooling.preview)
// implementation(libs.androidx.material3)
implementation(
fileTree(
mapOf(
"dir" to "libs",
"include" to listOf("*.aar", "*.jar")
)
)
)
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.navigation.compose)
// camerax
implementation(libs.androidx.camera.core)
implementation(libs.androidx.camera.camera2)
implementation(libs.androidx.camera.lifecycle)
implementation(libs.androidx.camera.view)
implementation(libs.androidx.camera.extensions)
// 权限申请
// implementation(libs.accompanist.permissions)
// hilt注入
implementation(libs.hilt.android)
ksp(libs.hilt.android.compiler)
// implementation(libs.androidx.hilt.navigation.compose)
// retrofit网络请求
implementation(libs.retrofit)
implementation(libs.converter.gson)
// okhttp
implementation(libs.okhttp)
implementation(libs.logging.interceptor)
// gson
implementation(libs.gson)
// 日志打印
implementation(libs.timber)
// 图片显示(非Compose标准版)
implementation("io.coil-kt:coil:2.4.0")
implementation(libs.core)
implementation(libs.android.core)
implementation(libs.material)
implementation("androidx.recyclerview:recyclerview:1.4.0")
// implementation("androidx.compose.foundation:foundation:1.7.0")
// implementation("androidx.compose.foundation:foundation-layout:1.7.0")
implementation (libs.pytorch.android)
implementation (libs.pytorch.android.torchvision)
implementation("io.github.scwang90:refresh-layout-kernel:3.0.0-alpha")
implementation("io.github.scwang90:refresh-header-classics:3.0.0-alpha")
val objectboxVersion:String by rootProject.extra
if (isDebug) {
debugImplementation("io.objectbox:objectbox-android-objectbrowser:$objectboxVersion")
} else {
releaseImplementation("io.objectbox:objectbox-android:$objectboxVersion")
}
implementation("org.greenrobot:eventbus:3.3.1")
}
apply(plugin = "io.objectbox")