print( sjw.iq == 200) output : true

[안드로이드] 카카오 해시 키 등록 본문

Android

[안드로이드] 카카오 해시 키 등록

sjwiq200 2019. 2. 28. 17:10
728x90
반응형

안드로이드..... 다른 분이 짜놓은 구조와 소스를 보니 처음보는 친구들이 정말 많더라구요 ㅎㅎㅎ..

 

덕분에 머리가 조금 아팠습니다...

 

아무튼 다른 분이 apk 추출한 거로 앱을 설치하니 카카오 공유 기능이 아주 잘 작동하는데!

 

제가 다른 부분을 개발하고 컴파일을 하니 기능이 작동하지 않는 상황이 있었습니다...

 

아 에러 로그를 스샷을 못찍었네요...

 

HashKey 값이 다르다고 에러를 뱉었습니다!!

 

 

그 이유는!

 

 

 

키 해시라고 써있는 부분에 있는 값이랑 현재 컴파일한 안드로이드 프로젝트의 키 해시 값이 맞지 않아서 인데요!!

 

그럼 키 해시는 어떻게 구할까요??

 

아주 간단합니다.

 

#소스 코드를 확인하시죠

 

try {
    PackageInfo info = getPackageManager().getPackageInfo(
            getPackageName(), PackageManager.GET_SIGNATURES);
    for (Signature signature : info.signatures) {
        MessageDigest md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        Log.d("MY KEY HASH:",
                Base64.encodeToString(md.digest(), Base64.DEFAULT));
    }
} catch (PackageManager.NameNotFoundException e) {

} catch (NoSuchAlgorithmException e) {

}

 

위 코드를 Acitivity에 넣어주시고 로그로 해시키 값을 뽑아내서 위에 사진에 보이는 키 해시 부분에 넣어주시면 

 

아주 잘 작동합니다!!

 

 

그리고 터미널로 확인하는 방법을 알려드리겠습니다.

 keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64

 

프로젝트 디렉토리로 들어가서 위와 같은 명령어를 실행하면 바로 확인해볼 수 있습니다!

728x90
반응형
Comments