카테고리 없음

[Android] 엔드포인트(BaseURL) 숨기기

킹왕짱지지 2024. 9. 29. 16:35

1) .gitignore 에 local.properties를 넣어줌

  • 거의 기본으로 들어가 있음

2) local.properties 에 Baseurl을 넣어줌

BASE_URL="http://흠냐흠냐:흠냐/"

3) gradle.properties

 
android.defaults.buildfeatures.buildconfig=true

4) build.gradle :app

  • 느낌표 부분 추가
import java.util.Properties

plugins {
    alias(libs.plugins.android.application)
    alias(libs.plugins.jetbrains.kotlin.android)
    id ("kotlin-kapt")
}

// properties 객체를 생성하고 로드!!!!!!!!!!!!!!!!!!!!!!!
val properties = Properties()
val propertiesFile = project.rootProject.file("local.properties") // 속성 파일 경로
properties.load(propertiesFile.inputStream())

android {
    namespace = "com.example.artimo_emotion_diary"
    compileSdk = 34

    defaultConfig {
        applicationId = "com.example.artimo_emotion_diary"
        minSdk = 26
        targetSdk = 34
        versionCode = 1
        versionName = "1.0"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
        // Base_URL을 BuildConfig에 추가!!!!!!!!!!!!!!!!!
        val baseUrl = properties["BASE_URL"]?.toString() ?: "https://default-url.com/"
        buildConfigField("String", "BASE_URL", baseUrl)
    }
​
 

5) 사용 코드

 
 val retrofit = Retrofit.Builder()
            .baseUrl(BuildConfig.BASE_URL)
            .addConverterFactory(GsonConverterFactory.create())
            .build()
​

+ 다 했는데도 안되면 clean하고 리빌드 하거나 껐다켜보기

나는 껐다 켜니까 됐음.