이 글을 쓰는 목적
새 프로젝트를 진행할 때 매번 지도를 연결할 때마다
Hash Key를 검색해서 가져오곤 했는데
그냥 내 블로그에 올려놓으면 다음번에 찾기 쉬우니까,,
①
Kakao Developers 로그인하기
②
내 애플리케이션 추가하기
나는 배포 할 목적은 아니라서 앱 아이콘은 아무 사진을 선택한다.
나중에 수정이 가능하기도 하니까
사업자명도 개인이니까 그냥 내 이름을 넣었다.
어플리케이션 등록 끝!
③
플랫폼 등록하기
왼쪽 메뉴 중 플랫폼을 클릭하고
Android 플랫폼 등록을 선택한다.
보여지는 창에 맞게 모두 입력해주면 된다.
패키지명은 AndroidManifest.xml 파일 가장 상단에서 확인한 후 복붙한다.
마켓 URL은 아직 배포된 상태가 아니기때문에 없음으로 선택했다.
배포된 어플리케이션이라면 적절하게 넣으면 될 것 같다.
키 해시는 아래의 코드를 activity에 넣은 후 LogCat을 통해 확인한 후 입력한다.
/**
* Hash Key
*/
fun getHashKey(){
var packageInfo : PackageInfo = PackageInfo()
try {
packageInfo = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES)
} catch (e: PackageManager.NameNotFoundException){
e.printStackTrace()
}
for (signature: Signature in packageInfo.signatures){
try{
var md: MessageDigest = MessageDigest.getInstance("SHA")
md.update(signature.toByteArray())
Log.e("KEY_HASH", Base64.encodeToString(md.digest(), Base64.DEFAULT))
} catch(e: NoSuchAlgorithmException){
Log.e("KEY_HASH", "Unable to get MessageDigest. signature = " + signature, e)
}
}
}
④
라이브러리 파일 추가하기
https://apis.map.kakao.com/android/guide/#step4
SDK를 다운로드 한 후 안에 있는 파일들을 알맞는 폴더에 넣어준다.
폴더들을 Android로 보고 있다면 Project로 변경하는 것이 조금 더 편하다!
⑤
권한 허용과 앱 키 등록
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
AndroidManifest.xml 파일에 permission을 등록해준다.
api 가이드에는 위의 2개만 입력하라고 나와있는데
ACCESS_FINE_LOCATION을 입력하면 ACCESS_COARSE_LOCATION도 함께 등록하라고 안내된다.
앱 키는 Kakao developers 사이트의 요약 정보를 클릭하면 앱 키들이 보여진다.
이 중에서 가장 위에있는 네이티브 앱 키를 복사하여 android:value="여기에 넣으면 된다."
⑥
마지막으로 build.gradle(:app)에 아래의 두 줄을 입력해주면 끝!
// Kakao Map API
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation files('libs/libDaumMapAndroid.jar')
'Android > note' 카테고리의 다른 글
[Android] Design Pattern - MVC, MVP, MVVM (0) | 2022.02.10 |
---|---|
firebase realtime database 데이터 삭제해도 adapter에 남아있을 때 (0) | 2022.01.22 |
[android] 카카오 지도 API가 화면에 보이지 않음 (0) | 2021.11.28 |
[android] Event Bus (0) | 2021.08.21 |
[android] attribute android:usesCleartextTraffic not found. (0) | 2021.08.14 |