와챠의 우당탕탕 개발 기록장
[Android/Kotlin] hide KEY in local.properties 본문
반응형
예전에도 이런 글을 쓴 적 있는데 안드 버전도 바뀌고 언어도 java언어로 만든 거라 업뎃을 해보려고 한다.
예전에 쓴 글은 이거다.
[Android/Kotlin] hide KEY/KEY 숨기기
ACCESS KEY나 SECRET ACCESS KEY 같이 중요한 정보는 github에서 보여지면 위험하기 때문에 꼬옥 숨겨주어야 한다. 프로젝트 할 때 S3와 통신할 일이 있어서 ACCESS KEY랑 SECRET ACCESS KEY를 안드 내에 저장하고,
min-wachya.tistory.com
업뎃을 해보자구요. 방법은 비슷한데 좀 더 간단해진듯?
1. local.propertiles 파일에 해당 키들을 적어준다.
sdk.dir=/Users/min0/Library/Android/sdk
// 숨길 Key 추가
service.key = "zD~(...)~%3D"
2. app 단위 build.gradle에 아래 코드를 추가한다.
import java.io.FileInputStream
import java.util.Properties
plugins {
// ...
}
// 추가
val localProperties = Properties()
localProperties.load(FileInputStream(rootProject.file("local.properties")))
android {
// ...
defaultConfig {
// ...
// 추가1
// local.properties에서 service.key로 저장했던 내용을 String 타입의 SERVICE_KEY로 사용하겠다는 뜻
buildConfigField("String", "SERVICE_KEY", "${localProperties["service.key"]}")
}
// ...
buildFeatures {
compose = true
// 추가2: 이거 추가해줘야 키를 코드 내에서 사용할 수 있다!!
buildConfig = true
}
}
// ...
3. 저장한 값 불러오기
BuildConfig.SERVICE_KEY < 이렇게 사용하면 된다.
buildFeatures에서 buildConfig = true 해줘야 BuildConfig import가 가능하다.
만약 true 설정 했는데도 import가 안 되고 not found~어쩌구 이러면 클린 해주고 다시 빌드해주면 된다!!
interface HomeService {
@GET("getVilageFcst?serviceKey=${BuildConfig.SERVICE_KEY}")
suspend fun getHome(
@Query("numOfRows") numOfRows : Int, // 한 페이지 경과 수
@Query("pageNo") pageNo : Int, // 페이지 번호
@Query("dataType") dataType : String, // 응답 자료 형식
@Query("base_date") baseDate : String, // 발표 일자
@Query("base_time") baseTime : String, // 발표 시각
@Query("nx") nx : Int, // 예보 지점 X 좌표
@Query("ny") ny : Int // 예보 지점 Y 좌표
): Response<HomeResponse>
}
끝~
중요 정보 노출하지 않고 개발 해보자구요 ㄱㄱ
반응형
'코딩 일기장 > Android(Kotlin)' 카테고리의 다른 글
Comments