-
Android Studio - Google Map API 협업 / Git에 업로드Android Studio 2021. 2. 1. 02:38
이 포스팅에서는 Android Studio에서 사용한 Google Map API 키를 Git에 올라가지 않게끔 처리하는 방법과 어떻게 팀원과 API Key를 공유했는지 작성하려 한다. 물론 이게 정답일지는 모르겠는데, 못 찾겠어서 일단 성공한 방법을 까먹기 전에 기록해두고자 쓰는 포스팅이다..
첫번째로, Git에 올라가지 않게끔 하는 방법으로 Local Properties를 이용한다.
이 파일에는 사용자의 sdk주소만 처음에 적혀있다.
## This file is automatically generated by Android Studio. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! # # This file should *NOT* be checked into Version Control Systems, # as it contains information specific to your local configuration. # # Location of the SDK. This is only used by Gradle. # For customization when using a Version Control System, please read the # header note. sdk.dir= /*본인의 sdk경로*/
.gitignore파일을 확인해보면 /local.properties라고 적혀있다.
즉 이 파일은 git에 올라가지 않는다. 따라서 api.key값을 이 파일에 적어둔다. (sdk.dir 밑줄에 추가)
api.key="따옴표 사이에 자기 api키 입력"
그리고 app level의 build.gradle파일에 들어간다(이 파일은 git에 올라감)
첫번째로, android {.....}이 위에다가 다음과 같이 입력해준다. (local.properties파일에서 받아온다는 뜻)
Properties properties = new Properties() properties.load(project.rootProject.file('local.properties').newDataInputStream())
build.gradle파일의 defaultConfig를 확인해보면,
defaultConfig { applicationId /*개인 파일 명*/ minSdkVersion 15 targetSdkVersion 29 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" /* 이 위치에 추가*/ }
이렇게 되어있다. 저 /*이 위치에 추가*/ 이부분에 다음 코드를 추가하면 된다.
BuildConfigField("String", "본인이 정한 키 이름", properties.getProperty("api.key"))
아까 local.properties를 properties로 받아와서, local.properties에 정의해둔 api.key라는 변수를 가져오는 역할이다..
본인이 정한 키 이름은 사용하는 사람 임의로 정하면 될 것 같다.
그러고 나서 AndroidManifest.xml파일로 들어간다.
application태그가 끝나기 전, activity태그 밑에 다음 코드를 추가해준다.
<meta-data android:name="com.google.android.maps.v2.API_KEY" android:value="app.BuildConfig.본인이 정한 키 이름"/>
원래 android:value값에 그대로 자기가 받아온 GoogleMapAPI 키를 넣어도 돌아가지만, AndroidManifest.xml파일은 Git에 올라가기 때문에 여기다 그대로 자신의 키 값을 넣으면 안된다. 따라서 이 방법으로 Git에 본인의 api키 값이 올라가는 것을 막을 수 있다.
그 뒤, api 키를 공유하기 위해 API - 사용자 인증 정보탭에 들어간다.
사용자 인증정보에 들어가면 본인의 API 키 목록이 있다.
해당 API를 클릭하고, 아래 사진의 항목을 확인한다.
Android앱의 사용량 제한 탭에서는 패키지이름, SHA-1서명 인증서 디지털 지문을 추가함으로써 사용을 제한할 수 있다. 나의 경우는 api key를 함께 작업하는 팀원에게 알려주고 팀원의 SHA-1정보를 받아서 추가해주었다.
참고로 SHA-1정보는 Window운영체제 기준 cmd창에 다음 명령어를 입력하면 나온다.
keytool -list -v -keystore "%USERPROFILE%\.android\debug.keystore" -alias androiddebugkey -storepass android -keypass android
아마 SHA1과 SHA256이 나오는데 SHA1옆에 뜨는 일련의 숫자들을 복붙해서 항목추가에 패키지명과 함께 넣어주면 된다. 이 방법으로 하니까 팀원의 작업환경에서도, 내 작업환경에서도 빈 화면이 뜨지않고 잘 해결이 되었다. (확대 축소도 매우 잘 된다!!)
'Android Studio' 카테고리의 다른 글
Android Studio - 주소 찾기 with getSubAdminArea(), getSubLocality() (0) 2021.03.18 Android Studio - 지오코딩, 역지오코딩(feat.GoogleMapAPI) (0) 2021.03.15 Android Studio - Retrofit 이용한 서버와의 통신 (0) 2021.02.28 Android Studio - BottomNavigationView위젯으로 하단 메뉴탭 만들기 (0) 2021.01.28 공대생(미알못)의 앱 디자인 - Figma 간단히 사용해본 후기 (0) 2021.01.23