[Android]local.Properties 시크릿 키 관리

민감자·2024년 10월 8일
1
post-thumbnail

해당 문서는
Android Studio Hedgehog | 2023.1.1 Patch
Android Gradle Plugin 8.2.2 / Gradle Version 8.2 / Gradle 타입 Kotlin

을 기준으로 작성되었음을 알립니다.

1️⃣ local.Properties 에 시크릿 키 변수 추가

local.Properties
변수명="키값" 으로 키 변수를 추가해주세요.
저는 API URL 을 숨길 예정이라 BASE_URL 로 변수명을, 키값에 API URL 을 넣어주었습니다.

2️⃣ 모듈 수준 Build.gradle.kts 에 선언

BuildConfig.gradle.kts (Module :app) 라고 적혀있는 곳에 선언하시면 됩니다.

📝 properties 변수 선언

val properties = Properties().apply {
    load(rootProject.file("local.properties").inputStream())
}

위 코드를 복사해 plugins 와 android 사이에 넣어주세요

📝 defaultConfig 에 변수 추가

build.gradle.kts 의 defaultConfig

buildConfigField("String", "변수명2", properties["변수명"].toString())

변수명2에는 변수명과 똑같이 선언하셔도 상관없고 사용하기 편한 이름으로 선언하셔도 괜찮습니다.
저는 보통 통일해서 쓰는 편입니다.

📝 buildFeatures 에 BuildConfig 추가

build.gradle.kts 의 buildFeatures

buildConfig = true

true 로 추가하신 후 Sync Now 를 클릭해주세요

3️⃣ 사용

이제 BuildConfig.변수명2 로 사용해주시면 됩니다!
이 때 자동으로 import 가 안되시는 분은 import 패키지명.BuildConfig 를 적어주세요

🚨 import 를 못해오는데요?

만약 import 가 되지 않으시면 다음을 시도해보시길 바랍니다

무적의 Clean & ReBuild

  1. Build > Clean Project
  2. Build > Rebuild Project
    여기서 되지 않는다면 `File > Invalidate Caches/Restart... > Invalide and Restart 를 해주시고 1,2 를 다시 진행해주세요

Reference

https://stackoverflow.com/questions/20706451/buildconfig-not-getting-created-correctly-gradle-android


처음으로 안드로이드 관련 글을 적었네요! 문제 해결 보다 환경 세팅 글만 적어서 큰일입니다ㅜ
언제나 오타, 오개념 알려주시는 댓글은 환영입니다!😊

profile
코딩하는 감자

0개의 댓글