1. KAKAO 개발자 사이트에서 앱 등록
로그인하고 나서 '내 애플리케이션' 으로가보면 '애플리케이션 추가하기'가 있다 등록을해주도록하자
요약정보에서 사용할 부분은 네이티브 앱 키 이다.
플랫폼 탭으로 이동해서 내 프로젝트 패키지명과 키 해시를 등록해주자
#키해시 얻는법
private fun getAppKeyHash() {
try {
val info =
packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNATURES)
for (signature in info.signatures) {
var md: MessageDigest
md = MessageDigest.getInstance("SHA")
md.update(signature.toByteArray())
val something = String(Base64.encode(md.digest(), 0))
Log.e("Hash key", something)
}
} catch (e: Exception) {
Log.e("name not found", e.toString())
}
}
위 코드를 이용하여 해시를 얻어서 등록해주자.
2.KAKAO 지도 API 개발자 사이트에서 SDK 다운받기
SDK 알집을 다운받자.
3.알집 파일프로젝트에 집어 넣기
압축파일을 열게 되면 이렇게 되어 있을것이다.
'libs' 폴더를 열어보면 파일들이 있는데 내 프로젝트 파일에
'libs'폴더를 만들어 jar파일을 넣어주고 'jinLibs' 폴더를 만들어서 이렇게 배치 시켜주면된다.
4.Manifest 등록하기
매니페스트에 위와 같이 코드를 추가해준다.
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.INTERNET" />
android:usesCleartextTraffic="true" //application 부분에
<meta-data android:name="com.kakao.sdk.AppKey" android:value="네이티브 앱키"/> //application 태그 내부에
5.build.gradle:Module에 등록시키기
'build.gradle(Module:~~~)'를 열어서 스크롤을 내려보면
dependencies 안에 라이브러리나 API들이 implementation 되어있다.
마지막 줄에 우리가 옮겨 놓았던 jar파일의 경로를 implementation 해주자
compile files('libs/libDaumMapAndroid.jar')
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation files('libs/libDaumMapAndroid.jar')
기기에 실행해보면 지도가 잘뜬다.
그리고
나는 윈도우 환경에서 개발을 하고있는데
안드로이드 스튜디오 에뮬레이터에서는 java.lang.UnsatisfiedLinkError 가 발생한다.
이유는 카카오 지도가 아직 x86 x64를 지원하지 않고 arm, armv7, arm64을 지원하기 때문이라고 한다.
참고
https://gyubgyub.tistory.com/m/29?category=858295
https://devtalk.kakao.com/t/api/85394/3
https://like-tomato.tistory.com/271