apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' android { compileSdkVersion 31 buildToolsVersion "29.0.3" signingConfigs { release { storeFile rootProject.file("evaluation-testing.jks") storePassword "123456" keyAlias = "gdt" keyPassword "123456" } } defaultConfig { applicationId "com.sambath.kunkhmer" minSdkVersion 21 targetSdkVersion 31 versionCode 1 versionName "1.0.0" signingConfig signingConfigs.release testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { debug { minifyEnabled false debuggable true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } release { shrinkResources true minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } // To inline the bytecode built with JVM target 1.8 into // bytecode that is being built with JVM target 1.6. (e.g. navArgs) compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" } androidExtensions { experimental = true } packagingOptions { exclude 'META-INF/DEPENDENCIES' exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE.txt' exclude 'META-INF/license.txt' exclude 'META-INF/NOTICE' exclude 'META-INF/NOTICE.txt' exclude 'META-INF/notice.txt' exclude 'META-INF/ASL2.0' } lintOptions { checkReleaseBuilds false abortOnError false } flavorDimensions 'env' productFlavors { dev { dimension 'env' //applicationIdSuffix = ".dev" versionNameSuffix "-dev" } prod { dimension 'env' } } applicationVariants.all { variant -> variant.outputs.all { //def formattedDate = new Date().format('yyyy-MM-dd HH-mm') def appName = "Kun-Khmer" def appId = variant.applicationId def versionName = variant.versionName def versionCode = variant.versionCode def flavorName = variant.flavorName // e. g. free def buildType = variant.buildType // e. g. debug def variantName = variant.name // e. g. freeDebug def apkName = appName + '_' + variantName + '_' + versionName + '.apk' outputFileName = apkName } } } dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" implementation 'androidx.appcompat:appcompat:1.4.0' implementation 'androidx.core:core-ktx:1.3.2' implementation 'com.google.android.material:material:1.4.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.2' implementation 'androidx.navigation:navigation-fragment-ktx:2.3.5' implementation 'androidx.navigation:navigation-ui-ktx:2.3.5' //Architecture components def lifecycle_version = "2.2.0" implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-common-java8:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version" //RxJava & RxAndroid implementation "io.reactivex.rxjava2:rxjava:2.2.18" implementation "io.reactivex.rxjava2:rxkotlin:2.4.0" implementation "io.reactivex.rxjava2:rxandroid:2.1.1" //Retrofit def retrofit_version = "2.9.0" implementation "com.squareup.retrofit2:retrofit:$retrofit_version" implementation "com.squareup.retrofit2:adapter-rxjava2:$retrofit_version" implementation "com.squareup.retrofit2:converter-moshi:$retrofit_version" implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0' implementation 'com.itkacher.okhttpprofiler:okhttpprofiler:1.0.7' /*Json Serialize & Deserialize Library*/ implementation("com.squareup.moshi:moshi-kotlin:1.9.2") kapt("com.squareup.moshi:moshi-kotlin-codegen:1.9.2") //Socket io client implementation('io.socket:socket.io-client:2.0.0') { exclude group: 'org.json', module: 'json' } // Logging helper implementation 'com.jakewharton.timber:timber:4.7.1' implementation 'com.google.code.gson:gson:2.8.6' //Lib implementation 'com.squareup.picasso:picasso:2.71828' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.2' androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' }