235 lines
8.8 KiB
Groovy
235 lines
8.8 KiB
Groovy
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
|
|
|
|
plugins {
|
|
id 'com.android.application'
|
|
id 'org.jetbrains.kotlin.android'
|
|
id 'com.google.gms.google-services'
|
|
id 'com.google.android.gms.oss-licenses-plugin'
|
|
|
|
id 'com.google.devtools.ksp'
|
|
id 'kotlin-parcelize'
|
|
id 'org.jlleitschuh.gradle.ktlint'
|
|
|
|
id 'com.google.firebase.crashlytics'
|
|
}
|
|
|
|
android {
|
|
namespace 'kr.co.vividnext.sodalive'
|
|
compileSdk = 35
|
|
|
|
viewBinding {
|
|
enabled true
|
|
}
|
|
|
|
buildFeatures {
|
|
buildConfig true
|
|
}
|
|
|
|
dependenciesInfo {
|
|
// Disables dependency metadata when building APKs.
|
|
includeInApk = false
|
|
// Disables dependency metadata when building Android App Bundles.
|
|
includeInBundle = false
|
|
}
|
|
|
|
defaultConfig {
|
|
applicationId "kr.co.vividnext.sodalive"
|
|
minSdk 23
|
|
targetSdk 35
|
|
versionCode 196
|
|
versionName "1.43.0"
|
|
}
|
|
|
|
buildTypes {
|
|
release {
|
|
minifyEnabled true
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
|
|
buildConfigField 'String', 'BASE_URL', '"https://api.sodalive.net"'
|
|
buildConfigField 'String', 'BOOTPAY_APP_ID', '"64c35be1d25985001dc50c87"'
|
|
buildConfigField 'String', 'BOOTPAY_APP_HECTO_ID', '"664c1707b18b225deca4b429"'
|
|
buildConfigField 'String', 'AGORA_APP_ID', '"e34e40046e9847baba3adfe2b8ffb4f6"'
|
|
buildConfigField 'String', 'AGORA_APP_CERTIFICATE', '"15cadeea4ba94ff7b091c9a10f4bf4a6"'
|
|
buildConfigField 'String', 'NOTIFLY_PROJECT_ID', '"765102ec85855aa680da35f1b0f55712"'
|
|
buildConfigField 'String', 'NOTIFLY_USERNAME', '"voiceon"'
|
|
buildConfigField 'String', 'NOTIFLY_PASSWORD', '"c6c585db0aaa4189be44d0467c7d66b6@A"'
|
|
buildConfigField 'String', 'KAKAO_APP_KEY', '"231cf78acfa8252fca38b9eedf87c5cb"'
|
|
buildConfigField 'String', 'GOOGLE_CLIENT_ID', '"983594297130-5hrmkh6vpskeq6v34350kmilf74574h2.apps.googleusercontent.com"'
|
|
buildConfigField 'String', 'APPSCHEME', '"voiceon"'
|
|
manifestPlaceholders = [
|
|
URISCHEME : "voiceon",
|
|
APPLINK_HOST : "voiceon.onelink.me",
|
|
FACEBOOK_APP_ID : "612448298237287",
|
|
FACEBOOK_CLIENT_TOKEN: "32af760f4a7b7cb7e3b1e7ffd0b0da70",
|
|
KAKAO_APP_KEY : "231cf78acfa8252fca38b9eedf87c5cb"
|
|
]
|
|
}
|
|
|
|
debug {
|
|
minifyEnabled false
|
|
debuggable true
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
applicationIdSuffix '.debug'
|
|
|
|
buildConfigField 'String', 'BASE_URL', '"https://test-api.sodalive.net"'
|
|
buildConfigField 'String', 'BOOTPAY_APP_ID', '"6242a7772701800023f68b2e"'
|
|
buildConfigField 'String', 'BOOTPAY_APP_HECTO_ID', '"667fca5d3bab7404f831c3e4"'
|
|
buildConfigField 'String', 'AGORA_APP_ID', '"b96574e191a9430fa54c605528aa3ef7"'
|
|
buildConfigField 'String', 'AGORA_APP_CERTIFICATE', '"ae18ade3afcf4086bd4397726eb0654c"'
|
|
buildConfigField 'String', 'NOTIFLY_PROJECT_ID', '"5f7ebe90d1ce5f0392164b8a53a662bc"'
|
|
buildConfigField 'String', 'NOTIFLY_USERNAME', '"voiceon"'
|
|
buildConfigField 'String', 'NOTIFLY_PASSWORD', '"c6c585db0aaa4189be44d0467c7d66b6@A"'
|
|
buildConfigField 'String', 'KAKAO_APP_KEY', '"20cf19413d63bfdfd30e8e6dff933d33"'
|
|
buildConfigField 'String', 'GOOGLE_CLIENT_ID', '"758414412471-mosodbj2chno7l1j0iihldh6edmk0gk9.apps.googleusercontent.com"'
|
|
buildConfigField 'String', 'APPSCHEME', '"voiceon-test"'
|
|
manifestPlaceholders = [
|
|
URISCHEME : "voiceon-test",
|
|
APPLINK_HOST : "voiceon-test.onelink.me",
|
|
FACEBOOK_APP_ID : "608674328645232",
|
|
FACEBOOK_CLIENT_TOKEN: "3775e6ea83236a685d264b6c5a1bbb4d",
|
|
KAKAO_APP_KEY : "20cf19413d63bfdfd30e8e6dff933d33"
|
|
]
|
|
}
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_17
|
|
targetCompatibility JavaVersion.VERSION_17
|
|
}
|
|
lint {
|
|
checkDependencies true
|
|
checkReleaseBuilds false
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation "androidx.media:media:1.7.1"
|
|
implementation 'androidx.core:core-ktx:1.16.0'
|
|
implementation 'androidx.appcompat:appcompat:1.7.1'
|
|
implementation 'androidx.recyclerview:recyclerview:1.4.0'
|
|
implementation 'com.google.android.material:material:1.13.0'
|
|
implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
|
|
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
|
|
implementation 'androidx.webkit:webkit:1.14.0'
|
|
|
|
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.9.4'
|
|
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.4'
|
|
|
|
// Logger
|
|
implementation("com.orhanobut:logger:2.2.0") {
|
|
exclude group: 'com.android.support', module: 'support-annotations'
|
|
}
|
|
|
|
// image library
|
|
implementation "io.coil-kt:coil:1.4.0"
|
|
|
|
// Koin DI
|
|
implementation "io.insert-koin:koin-android:3.1.3"
|
|
|
|
// Preference
|
|
implementation("androidx.preference:preference-ktx:1.2.1") {
|
|
exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel'
|
|
exclude group: 'androidx.lifecycle', module: 'lifecycle-viewmodel-ktx'
|
|
}
|
|
|
|
// Gson
|
|
implementation "com.google.code.gson:gson:2.13.2"
|
|
|
|
// Network
|
|
implementation "com.squareup.retrofit2:retrofit:3.0.0"
|
|
implementation "com.squareup.retrofit2:converter-gson:3.0.0"
|
|
implementation "com.squareup.retrofit2:adapter-rxjava3:3.0.0"
|
|
implementation "com.squareup.okhttp3:logging-interceptor:5.2.1"
|
|
|
|
// RxJava3
|
|
implementation "io.reactivex.rxjava3:rxjava:3.1.12"
|
|
implementation "io.reactivex.rxjava3:rxandroid:3.0.2"
|
|
implementation "com.jakewharton.rxbinding4:rxbinding:4.0.0"
|
|
|
|
// permission
|
|
implementation "io.github.ParkSangGwon:tedpermission-normal:3.4.2"
|
|
|
|
implementation 'com.github.yalantis:ucrop:2.2.11'
|
|
implementation 'com.github.zhpanvip:bannerviewpager:3.5.7'
|
|
|
|
implementation 'com.google.android.gms:play-services-oss-licenses:17.1.0'
|
|
|
|
// Firebase
|
|
implementation platform('com.google.firebase:firebase-bom:33.16.0')
|
|
implementation 'com.google.firebase:firebase-crashlytics-ktx'
|
|
implementation 'com.google.firebase:firebase-analytics-ktx'
|
|
implementation 'com.google.firebase:firebase-messaging-ktx'
|
|
implementation 'com.google.firebase:firebase-config-ktx'
|
|
|
|
implementation 'androidx.credentials:credentials:1.3.0'
|
|
implementation 'androidx.credentials:credentials-play-services-auth:1.3.0'
|
|
implementation 'com.google.android.libraries.identity.googleid:googleid:1.1.1'
|
|
|
|
// bootpay
|
|
implementation "io.github.bootpay:android:4.4.3"
|
|
|
|
// agora
|
|
implementation "io.agora.rtc:voice-sdk:4.6.0"
|
|
implementation 'io.agora.rtm:rtm-sdk:1.5.3'
|
|
|
|
// Glide
|
|
implementation 'com.github.bumptech.glide:glide:5.0.5'
|
|
annotationProcessor 'com.github.bumptech.glide:compiler:5.0.5'
|
|
|
|
// google in-app-purchase
|
|
implementation "com.android.billingclient:billing-ktx:8.0.0"
|
|
|
|
// ROOM
|
|
ksp "androidx.room:room-compiler:2.8.3"
|
|
implementation "androidx.room:room-ktx:2.8.3"
|
|
implementation "androidx.room:room-runtime:2.8.3"
|
|
implementation "androidx.room:room-rxjava3:2.8.3"
|
|
|
|
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2"
|
|
|
|
implementation "androidx.media3:media3-session:1.8.0"
|
|
implementation "androidx.media3:media3-exoplayer:1.8.0"
|
|
|
|
// Facebook
|
|
implementation "com.facebook.android:facebook-core:18.0.0"
|
|
|
|
// Appsflyer
|
|
implementation 'com.appsflyer:af-android-sdk:6.17.4'
|
|
|
|
// 노티플라이
|
|
implementation 'com.github.team-michael:notifly-android-sdk:1.12.0'
|
|
|
|
// Kakao
|
|
implementation "com.kakao.sdk:v2-common:2.21.0"
|
|
implementation "com.kakao.sdk:v2-auth:2.21.0"
|
|
implementation "com.kakao.sdk:v2-user:2.21.0"
|
|
|
|
implementation 'io.github.glailton.expandabletextview:expandabletextview:1.0.4'
|
|
|
|
// ----- Test dependencies -----
|
|
testImplementation 'junit:junit:4.13.2'
|
|
testImplementation 'org.mockito:mockito-core:5.20.0'
|
|
testImplementation 'org.mockito:mockito-inline:5.2.0'
|
|
testImplementation 'org.mockito.kotlin:mockito-kotlin:6.1.0'
|
|
testImplementation 'io.mockk:mockk:1.14.6'
|
|
}
|
|
|
|
|
|
// KSP args for Room schema export
|
|
ksp {
|
|
arg("room.schemaLocation", "$projectDir/schemas")
|
|
arg("room.incremental", "true")
|
|
arg("room.expandProjection", "true")
|
|
}
|
|
|
|
|
|
// Kotlin compiler and toolchain configuration (migrated from deprecated kotlinOptions.jvmTarget)
|
|
kotlin {
|
|
// Ensures Kotlin compiles with Java 17 toolchain
|
|
jvmToolchain(17)
|
|
|
|
// New DSL replacing kotlinOptions.jvmTarget
|
|
compilerOptions {
|
|
jvmTarget.set(JvmTarget.JVM_17)
|
|
}
|
|
}
|