안드로이드/API

[Android]안드로이드 코틀린 Kotlin 카카오지도API 시작 삽질.

Charlie_moon 2021. 5. 23. 00:42

 

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

 

[ Android ] 해시키 쉽게 얻는 방법

안녕하세요 gyub(귭)입니다 ㅎㅎㅎ 개발을 하다보면 해시키가 필요할 때가 있는데욥!? 뭐 예를 들면 카카오 API를 사용할 때 등등 자다 일어나서 갑자기 쓰는거라 양해좀 부탁 드립니다. private fun

gyubgyub.tistory.com

 

https://devtalk.kakao.com/t/api/85394/3 

 

Kakao DevTalk

카카오 데브톡. 카카오 플랫폼 서비스 관련 질문 및 답변을 올리는 개발자 커뮤니티 사이트입니다.

devtalk.kakao.com

 

https://like-tomato.tistory.com/271 

 

[KakaoMap API] Kotlin 환경에서 카카오맵 API/SDK 사용하기, 에러 해결

안드로이드에 카카오맵 SDK 를 내장하여 카카오맵을 띄우고 API를 사용하는 방법을 알아보자. 사실 제일 중요한 것은 초반 셋팅을 하는 것이다. 다만, 카카오맵의 초반 셋팅이 쉽지 않은 편이다.

like-tomato.tistory.com