| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 |
- plugins {
- alias(libs.plugins.android.application)
- alias(libs.plugins.jetbrains.kotlin.android)
- id("org.jetbrains.kotlin.kapt")
- id("com.google.devtools.ksp")
- }
- android {
- namespace 'com.grkj.iscs_mars'
- compileSdk 34
- viewBinding.enabled = true
- dataBinding {
- enabled true
- }
- defaultConfig {
- applicationId "com.grkj.iscs_mars"
- minSdk 24
- targetSdk 34
- versionCode 1
- versionName "1.0.1"
- multiDexEnabled true
- testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
- }
- //签名配置signingConfigs一定要在buildTypes前
- signingConfigs {
- release {
- storeFile file('../ISCS.jks')
- storePassword "iscs123456"
- keyAlias "iscs"
- keyPassword "iscs123456"
- }
- }
- buildTypes {
- debug {
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- signingConfig signingConfigs.release
- }
- release {
- minifyEnabled false // 混淆
- zipAlignEnabled false // 进行压缩优化
- shrinkResources false // 移除无用的resource文件
- proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
- signingConfig signingConfigs.release
- }
- }
- android.applicationVariants.all { variant ->
- variant.outputs.all { output ->
- def buildType = variant.buildType.name
- // 获取当前 output 的 ABI;没有则视为 "universal"
- def abi = null
- try {
- abi = output.getFilter(com.android.build.OutputFile.ABI)
- } catch (Throwable ignore) {
- def f = output.filters?.find { it.filterType?.toString()?.toLowerCase() == 'abi' }
- abi = f?.identifier
- }
- if (abi == null || abi.trim().isEmpty()) {
- abi = "universal"
- }
- outputFileName = "ISCS_${buildType.capitalize()}_${abi}_v${variant.versionName}_${variant.versionCode}.apk"
- }
- }
- compileOptions {
- sourceCompatibility JavaVersion.VERSION_1_8
- targetCompatibility JavaVersion.VERSION_1_8
- }
- kotlinOptions {
- jvmTarget = '1.8'
- }
- splits {
- abi {
- enable true // 开启 ABI 分 APK
- reset() // 先清空默认 ABI
- include 'armeabi-v7a', 'arm64-v8a' // 需要哪些就写哪些;如需 x86/x86_64 也可以加上
- universalApk true // 同时产一个“全 ABI”的通用 APK(可选)
- }
- }
- packaging {
- resources {
- pickFirsts += "META-INF/versions/9/OSGI-INF/MANIFEST.MF"
- pickFirsts += "META-INF/INDEX.LIST"
- pickFirsts += "META-INF/io.netty.versions.properties"
- }
- }
- }
- dependencies {
- implementation libs.androidx.core.ktx
- implementation libs.androidx.appcompat
- implementation libs.material
- implementation libs.androidx.activity
- implementation libs.androidx.constraintlayout
- testImplementation libs.junit
- androidTestImplementation libs.androidx.junit
- androidTestImplementation libs.androidx.espresso.core
- // implementation libs.mvvmhabit
- implementation libs.okhttps
- implementation libs.okhttps.stomp
- implementation libs.log.interceptor
- implementation libs.autosize
- implementation libs.fastble
- implementation(libs.viewmodel.ktx)
- implementation(libs.viewmodel.livedata.ktx)
- implementation(libs.viewmodel.savestate)
- kapt(libs.viewmodel.compiler)
- implementation(libs.android.navigation.fragment)
- implementation(libs.android.navigation.ui)
- implementation(libs.android.navigation.dynamic.features.fragment)
- implementation(libs.kotlinx.serialization.json)
- implementation fileTree(dir: "libs", include: ["*.jar", "*.aar"])
- // RV通用Adapter https://github.com/hongyangAndroid/base-adapter
- implementation 'com.zhy:base-rvadapter:3.0.3'
- // 日志工具 https://github.com/orhanobut/logger
- implementation 'com.orhanobut:logger:2.2.0'
- implementation 'androidx.multidex:multidex:2.0.1'
- // https://github.com/googlesamples/easypermissions
- implementation 'pub.devrel:easypermissions:3.0.0'
- // https://github.com/scwang90/SmartRefreshLayout
- implementation 'androidx.appcompat:appcompat:1.7.0' //必须 1.0.0 以上
- implementation 'io.github.scwang90:refresh-layout-kernel:2.1.0' //核心必须依赖
- implementation 'io.github.scwang90:refresh-header-classics:2.1.0' //经典刷新头
- implementation 'androidx.recyclerview:recyclerview:1.3.0'
- implementation 'com.leon:lfilepickerlibrary:1.8.0'
- implementation 'com.github.jzmanu:MDatePickerSample:v1.0.5'
- implementation 'com.wang.avi:library:2.1.3'
- implementation 'androidx.viewpager2:viewpager2:1.0.0'
- implementation 'com.github.bumptech.glide:glide:4.11.0'
- // https://github.com/onlylemi/MapView
- // implementation 'com.github.onlylemi:mapview:v1.0'
- // CameraX 核心库
- implementation "androidx.camera:camera-core:1.2.0"
- implementation "androidx.camera:camera-camera2:1.2.0"
- implementation "androidx.camera:camera-lifecycle:1.2.0"
- implementation "androidx.camera:camera-view:1.2.0"
- // ML Kit 面部检测库(备份,已改用虹软以补充活体检测)
- implementation 'com.google.mlkit:face-detection:16.1.5'
- implementation 'io.github.razerdp:BasePopup:3.2.1'
- implementation 'com.github.SilverIceKey:SIKExtension:1.1.76'
- implementation 'com.github.liangjingkanji:BRV:1.6.1'
- implementation("com.github.SilverIceKey:SIKCronJob:1.0.5")
- }
|