Files
zd_servicing/servicing/build.gradle
songzhiling 96a61fe09f refactor(sdk): 重构项目并添加 native 代码支持
- 移除了不必要的日志库 LogUtil
- 添加了高德地图服务并配置了相关权限
- 更新了 API 接口定义,统一添加了前缀
-重构了 AppConfig 类,使用 native代码获取配置信息
- 更新了项目构建配置,支持 native 代码编译
- 优化了部分代码结构,提高了代码的可维护性
2025-07-17 11:35:38 +08:00

237 lines
8.9 KiB
Groovy

import com.android.build.gradle.LibraryExtension
plugins {
alias(libs.plugins.android.library)
id 'com.google.devtools.ksp'
alias(libs.plugins.jetbrains.kotlin.android)
id 'maven-publish'
// kotlin 序列化注解
id 'kotlin-parcelize'
}
android {
namespace 'com.za.servicing'
compileSdk 35
defaultConfig {
minSdk 23
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles "consumer-rules.pro"
vectorDrawables {
useSupportLibrary true
}
ndk {
abiFilters 'armeabi-v7a', 'arm64-v8a'
}
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
minifyEnabled 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
buildConfig true // 生成 BuildConfig
resValues true // 允许资源值生成
}
composeOptions {
kotlinCompilerExtensionVersion '1.5.15'
}
if (project.extensions.getByName("android") is LibraryExtension) {
// AGP 7.0+
packaging {
resources {
excludes += "META-INF/LICENSE"
}
}
} else {
// AGP 6.x
packagingOptions {
exclude("META-INF/LICENSE")
}
}
publishing {
singleVariant("release") {
withSourcesJar()
}
}
}
publishing {
publications {
release(MavenPublication) {
groupId = 'io.github.szl9'
artifactId = 'zd_servicing'
version = "1.0.3"
pom {
packaging = "aar"
name.set("zd_servicing")
description.set("zd_servicing: Library for Android Application")
url.set("https://github.com/szl9/4dbki6r4uv.git")
inceptionYear.set("2024")
licenses {
license {
name.set("MIT License")
url.set("https://opensource.org/licenses/MIT")
}
}
developers {
developer {
id.set("zd")
name.set("zd szl")
email.set("17630035658@163.com")
}
}
scm {
connection.set("scm:git@github.com:szl9/4dbki6r4uv.git")
developerConnection.set("scm:git@github.com:szl9/4dbki6r4uv.git")
url.set("https://github.com/szl9/4dbki6r4uv.git")
}
}
// 将 afterEvaluate 移到 publications 块内
afterEvaluate {
from components.release
// 将依赖项处理放在这里
pom.withXml {
def root = asNode()
def dependenciesNode = root.dependencies ? root.dependencies[0] : root.appendNode('dependencies')
configurations.api.allDependencies.each { dep ->
try {
if (dep.group != null && dep.name != null && dep.version != null) {
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', dep.group)
dependencyNode.appendNode('artifactId', dep.name)
dependencyNode.appendNode('version', dep.version)
dependencyNode.appendNode('scope', 'compile')
}
}
catch (Exception e) {
logger.warn("Failed to add dependency ${dep} to POM", e)
}
}
}
}
}
}
repositories {
maven {
name = 'zd_servicing'
url = layout.buildDirectory.dir("zd_servicing")
}
}
}
tasks.register('generateRepo', Zip) {
def publishTask = tasks.named('publishReleasePublicationToZd_servicingRepository')
from publishTask.map { it.getRepository().getUrl() }
into 'zd_servicing'
archiveFileName.set('zd_servicing.zip')
}
dependencies {
api "androidx.core:core-ktx:1.15.0" // coreKtx = "1.15.0"
api "androidx.appcompat:appcompat:1.7.0" // appcompat = "1.7.0"
api "com.google.android.material:material:1.12.0" // material = "1.12.0"
api "androidx.lifecycle:lifecycle-viewmodel-compose:2.8.7" // lifecycleRuntimeKtx = "2.8.7"
api "androidx.lifecycle:lifecycle-runtime-ktx:2.8.7" // lifecycleRuntimeKtx = "2.8.7"
api "androidx.activity:activity-compose:1.10.0" // activityCompose = "1.10.0"
api platform("androidx.compose:compose-bom:2025.01.01") // composeBom = "2025.01.01"
api "androidx.compose.ui:ui:1.7.7" // uiVersion = "1.7.7"
api "androidx.compose.ui:ui-graphics:1.7.7" // uiGraphics = "1.7.7"
api "androidx.compose.ui:ui-tooling-preview:1.7.7" // uiToolingPreview = "1.7.7"
api "androidx.compose.material3:material3:1.3.1" // material3="1.3.1"
api "androidx.work:work-runtime-ktx:2.10.0" // workRuntimeKtx = "2.10.0"
api "androidx.exifinterface:exifinterface:1.3.7" // exifinterface = "1.3.7"
testApi "junit:junit:4.13.2" // junit = "4.13.2"
androidTestApi "androidx.test.ext:junit:1.2.1" // junitVersion = "1.2.1"
androidTestApi "androidx.test.espresso:espresso-core:3.6.1" // espressoCore = "3.6.1"
androidTestApi platform("androidx.compose:compose-bom:2025.01.01") // composeBom = "2025.01.01"
androidTestApi "androidx.compose.ui:ui-test-junit4:1.7.7" // uiGraphics = "1.7.7"
debugApi "androidx.compose.ui:ui-test-manifest:1.7.7" // uiGraphics = "1.7.7"
debugApi "androidx.compose.ui:ui-tooling:1.4.0"
// From [libraries] ui-tooling, version.ref = "uiToolingVersion", and [versions] uiToolingVersion = "1.4.0"
api "io.coil-kt:coil-compose:2.6.0" // coilCompose = "2.6.0"
api "io.coil-kt:coil-gif:2.6.0" // coilCompose = "2.6.0"
api "com.guolindev.permissionx:permissionx:1.8.0" // permissionx = "1.8.0"
api "com.blankj:utilcodex:1.31.1" // utilcodex = "1.31.1"
api "com.tencent.bugly:crashreport:4.0.4" // crashreport = "4.0.4"
// 高德地图
api "com.amap.api:3dmap:8.1.0" // xdmap = "8.1.0"
api "com.amap.api:location:5.6.1" // location = "5.6.1"
api "com.amap.api:search:7.3.0" // search = "7.3.0"
// JPush
api "cn.jiguang.sdk:jpush:5.6.0" // jpush = "5.6.0"
api "com.google.code.gson:gson:2.11.0" // gson = "2.11.0"
// 网络
api "com.squareup.retrofit2:retrofit:2.9.0" // retrofit = "2.9.0"
api "com.squareup.retrofit2:converter-gson:2.9.0" // converterGson = "2.9.0"
api "com.squareup.retrofit2:adapter-rxjava3:2.9.0"
// From [libraries] adapter-rxjava3, version.ref = "converterGson"
api "io.reactivex.rxjava3:rxjava:3.1.7" // rxjava = "3.1.7"
api "io.reactivex.rxjava3:rxandroid:3.0.2" // rxandroid = "3.0.2"
api "com.squareup.okhttp3:logging-interceptor:4.11.0" // loggingInterceptor = "4.11.0"
api "com.alibaba:fastjson:1.2.69" // fastjson = "1.2.69"
// 本地数据
api "androidx.room:room-runtime:2.6.1" // roomRuntimeVersion = "2.6.1"
annotationProcessor "androidx.room:room-compiler:2.6.1" // roomCompilerVersion = "2.6.1"
ksp "androidx.room:room-compiler:2.6.1" // roomCompilerVersion = "2.6.1"
api "com.tencent:mmkv:1.3.11" // mmkv = "1.3.11"
// 7z
api "org.tukaani:xz:1.9" // xz = "1.9"
api "org.apache.commons:commons-compress:1.23.0" // commonsCompress = "1.23.0"
api "com.google.zxing:core:3.5.3" // core = "3.5.3"
api "com.tencent.tbs:tbssdk:44286" // tbssdk = "44286"
// CameraX - Assuming all camera dependencies use 'cameraCore' version
api "androidx.camera:camera-core:1.4.1" // cameraCore = "1.4.1"
api "androidx.camera:camera-camera2:1.4.1" // cameraCore = "1.4.1"
api "androidx.camera:camera-lifecycle:1.4.1" // cameraCore = "1.4.1"
api "androidx.camera:camera-view:1.4.1" // cameraCore = "1.4.1"
api "androidx.camera:camera-extensions:1.4.1" // cameraCore = "1.4.1"
api "com.github.bumptech.glide:glide:4.16.0" // glide = "4.16.0"
annotationProcessor "com.github.bumptech.glide:compiler:4.14.2" // compiler = "4.14.2"
api "org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.5"
// orgEclipsePahoClientMqttv3 = "1.2.5"
api "org.eclipse.paho:org.eclipse.paho.android.service:1.1.1"
// orgEclipsePahoAndroidService = "1.1.1"
api "com.google.mlkit:face-detection:16.1.7" // faceDetection = "16.1.7"
}