XuqmGroup-AndroidSDK/sdk-log/build.gradle.kts
XuqmGroup fbafc8d802 feat: sdk-log v1.0.0 新建 + sdk-core logApiUrl 扩展 + sdk-update 进度回调
Agent 7 — sdk-core:
- SdkPlatformConfig 新增 logApiUrl、logEnabled 字段
- XuqmSDK 新增 logApiUrl/logEnabled 属性
- fetchAndApplyPlatformConfig 填充新字段

Agent 7 — sdk-log v1.0.0:
- XLog 主入口:event/captureError/warn/info/startCrashCapture
- LogQueue:SharedPreferences 存储 + 批量 OkHttp 上报
- CrashCapture:Thread.setDefaultUncaughtExceptionHandler
- Fingerprint:SHA-256 指纹去重
- FunnelTracker:漏斗分析
- Gradle Plugin:com.xuqm.log — assembleRelease 后自动上传 mapping

Agent 7 — sdk-update:
- downloadApk/downloadPlugin 新增 onProgress 进度回调
- checkAppUpdate 版本缓存(30分钟 TTL)
2026-06-16 12:10:58 +08:00

54 行
1.5 KiB
Plaintext

plugins {
id("com.android.library")
id("org.jetbrains.kotlin.android")
id("maven-publish")
}
group = rootProject.group
android {
namespace = "com.xuqm.sdk.log"
compileSdk = 35
defaultConfig { minSdk = 24 }
publishing { singleVariant("release") { withSourcesJar() } }
compileOptions {
sourceCompatibility = JavaVersion.VERSION_11
targetCompatibility = JavaVersion.VERSION_11
}
}
val sdkLogVersion: String by lazy {
(project.findProperty("SDK_LOG_VERSION") as? String)?.takeIf { it.isNotBlank() }
?: (project.findProperty("PUBLISH_VERSION") as? String)?.takeIf { it.isNotBlank() }
?: "0.0.1-SNAPSHOT"
}
afterEvaluate {
publishing {
publications {
create<MavenPublication>("release") {
from(components["release"])
groupId = "com.xuqm"
artifactId = "sdk-log"
version = sdkLogVersion
}
}
repositories {
maven {
url = uri(rootProject.ext["nexusUrl"] as String)
credentials {
username = project.findProperty("NEXUS_USER") as? String ?: ""
password = project.findProperty("NEXUS_PASSWORD") as? String ?: ""
}
}
}
}
}
dependencies {
implementation(project(":sdk-core"))
implementation("com.squareup.okhttp3:okhttp:4.12.0")
implementation("com.google.code.gson:gson:2.10.1")
}