728x90
[ API KEY 관리법 ]
API KEY를 관리하는 이유
api key 같은 상수들을 관리하는 다양한 이유가 많지만 여기서는 두 가지 정도 이야기를 해보면 첫째로 코드에 그대로 작성하는 것은 보안상의 이유로 좋지 않습니다. 두 번째는 api키를 여러 곳에서 사용하는 경우 한 번에 관리하기 쉽도록 한 곳에서 관리하는 것이 좋습니다.
사용법
안드로이드에서는 보통 api key를 local.properties에 작성 후 build.gradle (:app)에서 BuildConfig에 변수를 추가하면 끝입니다.
여기서 추가로 git에 코드를 올리는 경우 .gitignore에도 local.properties를 적어주시면 됩니다. 기본적으로 git init 명령어를 사용하시면 local.properties를 포함하여 다양한 파일들이 .gitignore에 추가되어 따로 추가를 하지 않아도 됩니다.
(맨 아래로 가시면 코드만 확인하실 수 있습니다~)
- local.properties에 key 작성
- build.gradle(Module:app)에 변수 추가
출력 예시
[.gitignore추가]
- .gitignore 추가
- git status 확인
[전체 코드]
local.properties
# api key
api.key.test1="this is test1 key"
api.key.test2="this is test2 key"
api.key.test3="this is test3 key"
build.gradle (:app)
plugins {
// 생략
}
// local.properties 사용을 위함
Properties properties = new Properties()
properties.load(project.rootProject.file('local.properties').newDataInputStream())
android {
defaultConfig {
// 생략
// api key 변수 지정
buildConfigField "String", "APIKEY1", properties['api.key.test1']
buildConfigField "String", "APIKEY2", properties['api.key.test2']
buildConfigField "String", "APIKEY3", properties['api.key.test3']
}
//생략
}
MainActivity.kt
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// api key 출력
Log.d("API KEY TEST", "${BuildConfig.APIKEY1}")
Log.d("API KEY TEST", "${BuildConfig.APIKEY2}")
Log.d("API KEY TEST", "${BuildConfig.APIKEY3}")
}
}
.gitignore
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties
제가 잘못 알고 있거나 잘못된 부분이 있을 경우 알려주시고 추가로 궁금한 점 있으신 분들도 댓글이나 메일 주시면 성실히 답변해 드리겠습니다.🧑🏻💻
감사합니다~😄
728x90
'Android' 카테고리의 다른 글
[ 안드로이드 - Kotlin ] Jsoup을 사용한 크롤링 ( 코틀린 ) (0) | 2021.09.19 |
---|---|
[ 안드로이드 - Kotlin ] retrofit을 사용한 공공데이터 포털 데이터 받기 ( 코틀린 ) (1) | 2021.09.16 |