KBZ-POS/app/build.gradle
2025-11-21 14:34:06 +07:00

214 lines
6.2 KiB
Groovy

plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.hilt.android)
alias(libs.plugins.kotlin.kapt)
alias(libs.plugins.navigation)
}
android {
namespace 'com.utsmm.kbz'
compileSdk 34
defaultConfig {
applicationId "com.utsmm.kbz" //mpu
minSdk 24
targetSdk 33
versionCode 8
versionName "1.08"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
// // Add CMake configuration
// externalNativeBuild {
// cmake {
// cppFlags "-std=c++14"
// }
// }
}
// Configure CMake
// externalNativeBuild {
// cmake {
// path "src/main/cpp/CMakeLists.txt"
// version "3.22.1"
// }
// }
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = '11'
}
dataBinding {
enabled = true
}
buildFeatures {
buildConfig = true
}
packagingOptions {
pickFirst '**/libnative-lib.so'
pickFirst '**/libxgd_ddi_jni.so'
}
// Configure native library loading
sourceSets {
main {
jniLibs.srcDirs = ['src/main/jniLibs']
}
}
}
// Exclude old Kotlin stdlib variants to prevent duplicate classes
configurations.all {
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk7'
exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib-jdk8'
}
// Configure kapt for annotation processing
kapt {
correctErrorTypes true
arguments {
arg("room.schemaLocation", "$projectDir/schemas")
arg("room.incremental", "true")
arg("room.expandProjection", "true")
}
}
dependencies {
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
def nav_version = "2.3.2"
def lottieVersion = "3.5.0"
def fragment_version = "1.2.0"
def espressoVersion = "3.3.0"
def testJunitVersion = "1.1.5"
def androidXTestVersion0 = "1.2.0"
def testRunnerVersion = "1.5.2"
def testRulesVersion = "1.5.0"
// def nav_version = "2.4.1"
implementation 'com.android.support:multidex:1.0.3'
// QR
// implementation 'androidmads.library.qrgenearator:QRGenearator:1.0.5'
// QR Scan
implementation 'com.journeyapps:zxing-android-embedded:4.3.0'
implementation "androidx.lifecycle:lifecycle-common-java8:2.3.1"
//1.2.0
implementation 'androidx.appcompat:appcompat:1.3.1' //1.2.0
implementation 'com.google.android.material:material:1.4.0' //1.2.1
implementation 'androidx.constraintlayout:constraintlayout:2.0.4' //2.0.4
implementation 'com.github.denzcoskun:ImageSlideshow:0.1.2'
//signature
implementation 'com.github.gcacace:signature-pad:1.3.1'
//lottie
implementation "com.airbnb.android:lottie:$lottieVersion"
implementation "androidx.cardview:cardview:1.0.0"
//Stetho
implementation 'com.facebook.stetho:stetho:1.5.1'
//Navigation Component
implementation "androidx.navigation:navigation-fragment:$nav_version"
implementation "androidx.navigation:navigation-ui:$nav_version"
// Room dependencies
implementation "androidx.room:room-runtime:2.4.3" //2.2.5
implementation 'androidx.preference:preference:1.1.1'
implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
// kapt "androidx.room:room-compiler:2.4.3"
implementation "androidx.room:room-rxjava3:2.4.3"
// Hilt Dependencies
implementation libs.hilt.android
kapt libs.hilt.compiler
kapt libs.androidx.hilt.compiler
// Basic dependency injection support for javax.inject
implementation 'javax.inject:javax.inject:1'
//OKHttp 4.8.1
implementation("com.squareup.okhttp3:logging-interceptor:4.8.1")
implementation("com.squareup.okhttp3:okhttp:4.8.1")
//RxJava
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
implementation 'io.reactivex.rxjava3:rxjava:3.0.0'
// Retrofit
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation "com.github.akarnokd:rxjava3-retrofit-adapter:3.0.0"
// ViewModel
implementation 'androidx.lifecycle:lifecycle-viewmodel:2.2.0'
// LiveData
implementation 'androidx.lifecycle:lifecycle-livedata:2.2.0'
//base64
implementation 'commons-codec:commons-codec:1.15'
//bouncy castle
implementation 'org.bouncycastle:bcpkix-jdk15on:1.56'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'com.sunmi:printerlibrary:1.0.23'
// implementation 'com.sunmi:sunmiui:1.1.27' //1.1.27
implementation project(path: ':ecr-service-lib')
implementation project(path: ':paylibs')
implementation project(path: ':mpulib')
implementation project(path: ':baselib')
implementation project(path: ':paysdk-lib')
implementation project(path: ':nexsdk-lib')
implementation project(path: ':qrgen-lib')
implementation project(path: ':xpay')
// implementation project(path: ':sunmiui-lib')
implementation project(path: ':qrgen-lib')
//// implementation project(path: ':samlSirius')
implementation project(path: ':ecr')
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.2' // 1.1.2
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
androidTestImplementation 'androidx.test.espresso:espresso-contrib:3.3.0'
androidTestImplementation 'androidx.test:core:1.5.0'
androidTestImplementation 'androidx.test:runner:1.5.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
// Add Mockito dependency for mocking
testImplementation 'org.mockito:mockito-core:3.12.4'
androidTestImplementation 'org.mockito:mockito-android:3.12.4'
testImplementation 'org.powermock:powermock-api-mockito2:2.0.9'
testImplementation 'org.powermock:powermock-module-junit4:2.0.9'
}