728x90

Java 코드와 Kotlin 코드를 혼용하여 작성하는 환경 설정이 Android Studio 가 버전 업 되면서 변경되었다.

https://developer.android.com/kotlin/add-kotlin?hl=ko 이 URL을 참조하면 최신으로 변경된 것을 확인할 수 있다.

 

코틀린 최신 버전이 1.7.10 이지만 1.6.20 으로 설정했다.

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    ext.kotlin_version = '1.6.20'
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
 
plugins {
    id 'com.android.application' version '7.2.2' apply false
    id 'com.android.library' version '7.2.2' apply false
}
 
 
task clean(type: Delete) {
    delete rootProject.buildDir
}

 

app build.gradle

plugins {
    id 'com.android.application'
    // 코틀린 혼용 사용을 위해 추가
    id 'kotlin-android'
    id 'kotlin-parcelize'
    id 'kotlin-kapt'
    // id 'kotlin-android-extensions' // deprecated 되었음.
}
 
android {
    compileSdk 32
 
    defaultConfig {
        applicationId "com.link2me.android.retrofit_mvvm_login"
        minSdk 23
        targetSdk 32
        versionCode 1
        versionName "1.1"
    }
 
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
 
    // View Binding : Android Studio 4.0 이상
    buildFeatures {
        viewBinding = true
    }
}
 
dependencies {
    // 아래 2줄은 코틀린 혼용 사용을 위해 추가
    implementation 'androidx.core:core-ktx:1.8.0' // 2022년 6월 1일 버전
    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
 
    implementation 'androidx.appcompat:appcompat:1.4.2'
    implementation 'com.google.android.material:material:1.6.1'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
 
//    implementation 'gun0912.ted:tedpermission:2.0.0'  // 위험권한 퍼미션 처리
    implementation 'io.github.ParkSangGwon:tedpermission-normal:3.3.0' // 위험권한 퍼미션 처리
    implementation 'androidx.cardview:cardview:1.0.0'  // 레이아웃으로 사용할 CardView
    implementation 'androidx.recyclerview:recyclerview:1.2.1'
 
    implementation 'androidx.navigation:navigation-fragment:2.1.0'
    implementation 'androidx.navigation:navigation-ui:2.1.0'
 
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:4.4.0'
    implementation 'com.squareup.okhttp3:okhttp-urlconnection:4.9.0'
 
    def lifecycle_version = "2.5.0"
    // ViewModel
    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version"
    // lifecycle-extensions의 API는 지원 중단되었다.
 
    // 이미지 출력용 Glide
    implementation 'com.github.bumptech.glide:glide:4.11.0'
    //annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
    kapt 'com.github.bumptech.glide:compiler:4.11.0' // Kotlin plugin doesn't pick up annotationProcessor dependencies
}

 

 

 

 

블로그 이미지

Link2Me

,