시나브로

[ kakaoDevelopers ] 내 애플리케이션 _ 플랫폼 - 패키지명 /키해시 본문

안드로이드

[ kakaoDevelopers ] 내 애플리케이션 _ 플랫폼 - 패키지명 /키해시

혬혬 2019. 10. 20. 15:45
728x90

kakaoDevelopers에서 로그인한 후, 내애플리케이션 - 설정 - 일반 - 기본정도 - 플랫폼 있다. 

- 만약 내애플리케이션을 만들지 않았을 경우, 애플리케이션부터 추가해준다. 

 

1. 패키지명

androidManifest.xml 파일에 보면

<manifest~~~~ 

package="~~"> 에 잇는 package값을 넣어주면 된다. 

2. 마켓 url

위의 패키지명을 채우면 알아서 변경된다. 

 

3. 키 해시

키 해시는 필수항목은 아니지만, 카카오톡 sdk, 페이스북 sdk등과 연동하기 위해서는 반드시 등록해야된다. 

밑에는 내가 키해싱을 얻은 방법이다. 

 

안드로이드 프로젝트을 켜고 alt + f12를 누르면 아랫단에 그림 1 처럼 안드로이드 터미널 창이 뜬다.

만약 뜨지 않는다면, 

더보기

file- setting-keymap에 들어가서 terminal을 검색하면 된다. 

아래 사진처럼 검색결과가 나오는데 too-windows-terminal의 단축키를 확인하고 실행하면, 터미널을 실행시킬 수 있을 것이다.

그림 1. 안드로이드 터미널

 

여기서 이제 명령어를 입력해서 키해시를 받을 수 있다. 나는 밑의 URL인 kakaoDevelops 페이지를 참조했다. 가장 잘 나와있지만, 이것만 보고 하기에는 힘들었다.....

https://developers.kakao.com/docs/android#%ED%82%A4%ED%95%B4%EC%8B%9C-%EB%93%B1%EB%A1%9D

 

Kakao Developers_

더 나은 세상을 꿈꾸고 그것을 현실로 만드는 이를 위하여 카카오에서 앱 개발 플랫폼 서비스를 시작합니다.

developers.kakao.com

 

 

위의 페이지에 밑의 문구를 입력하라고 한다. 하지만 밑의 문구를 바로 입력할 경우, 작동되지 않는다. 

keytool -exportcert -alias androiddebugkey -keystore <debug_keystore_path> -storepass android -keypass android | openssl sha1 -binary | openssl base64

제대로 작동되게 하기 위해서는 <debug_keystore_path> 부분을 자신의 파일주소로 변경해야된다. 

페이지에는 이렇게 표기되어있다.

만약 자신이 windows vist/7/xp 중에 뭔지 모른다면 직접 저 파일주소로 가서 파일이 있는 지 확인해면 된다. 자신의 컴퓨터에 debug.keysore이 위치한 파일 주소로 <debug_keystore_path>부분을 변경해서 작성하면 된다. 

 

하지만, 나는  'openssl'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라는 오류가 나왔다.  

이 오류의 경우. 컴퓨터에 openssl이 설치되어 있지 않아서 나오는 오류이기 때문에 openssl을 설치해줘야된다. 

아래의 url을 클릭해서 자신의 버전에 맞는 것을 다운 받으면 된다. 

https://code.google.com/archive/p/openssl-for-windows/downloads 

 

Google Code Archive - Long-term storage for Google Code Project Hosting.

 

code.google.com

내 버전은 window 10 64비트인데 도데체 무엇을 설치해야될지 몰라서 일단은 openssl-0.9.8e_X64을 다운받았다.

다행히도 잘 작동했다. 

 

나는 압축을 C:\Users\<사용자명>에 설치를 하였다.

이렇게 C:\Users\<사용자명>\openssl-0.9.8e_X64 (이하, openssl주소라고 함)

이 주소가 필요함으로 잘 기억해 두자.

 

이제

 

keytool -exportcert -alias androiddebugkey -keystore %HOMEPATH%\.android\debug.keystore | <openssl 주소>\bin\openssl.exe sha1 -binary | <openssl 주소>\bin\openssl.exe  base64

 

이렇게 입력하면 될 것이다. 

그럼 이렇게 키 저장소 비밀번호 입력 : 이라고 나온다. 

나 같은 경우. 따로 설정한 기억이 없기에 그냥 컴퓨터 비밀번호를 입력해보았다. 만약 컴퓨터 비밀번호가 없다면,  space 바를 한번을 추천해본다. 

 

비밀번호를 입력하면, 밑에 키해시 값이 나온다. 그것을 복사해서 kakaoDevelops페이지에 입력하면 끝!

 

---------------------------------------------------------------------------------------------------------------------------

이렇게 해도 안 되서 다른 방법을 하나 더 추가합니다. 

mainActiviy -> LoginActivity [카카오 로그인 버튼 위치]

이런 구성인데 mainActivity을 이렇게 변경하였다. 

이렇게 변경하면 밑에 위치한 Logcat을 보면 빨간 글씨로 Hash key : ~~ 라고 나온 값을 카카오 개발자 페이지에 입력해 주었다. 

public class MainActivity extends AppCompatActivity {
    Button abc_btn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        getAppKeyHash();
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        abc_btn=findViewById(R.id.abc_btn);
        abc_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(getApplicationContext(),Login.class);
                startActivity(intent);
            }
        });
    }
    private void getAppKeyHash() {
        try {
            PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
            for (Signature signature : info.signatures) {
                MessageDigest md;
                md = MessageDigest.getInstance("SHA");
                md.update(signature.toByteArray());
                String something = new String(Base64.encode(md.digest(), 0));
                Log.e("Hash key", something);
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            Log.e("name not found", e.toString());
        }
    }

}

 

728x90

'안드로이드' 카테고리의 다른 글

[ kakaoDevelopers ] 로그인 Api 사용하기  (0) 2019.10.23
Comments