728x90
카카오로그인 연동을 위해서 Hashkey를 알아야한다.
React만 1년반 쓰다보니 자바와 안드로이드는 1도 모르는 삐약이는
Hash key를 구하라는데 어느시점에서 어떻게 구하는지 몰랐다.
[안드로이드 HashKey 구하는 방법] - 위의 블로그 참고
package com.runcompany;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.os.Bundle;
import android.util.Base64;
import android.util.Log;
import com.facebook.react.ReactActivity;
import com.facebook.react.ReactActivityDelegate;
import com.facebook.react.ReactRootView;
import com.swmansion.gesturehandler.react.RNGestureHandlerEnabledRootView;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MainActivity extends ReactActivity {
/**
* Returns the name of the main component registered from JavaScript. This is used to schedule
* rendering of the component.
*/
@Override
protected void onCreate(Bundle saveInstanceState){
super.onCreate(saveInstanceState);
//setContentView(R.layout.activity_main);
getHashKey();
}
private void getHashKey(){
PackageInfo packageInfo = null;
try {
packageInfo = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
if (packageInfo == null)
Log.e("KeyHash", "KeyHash:null");
for (Signature signature : packageInfo.signatures) {
try {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash", Base64.encodeToString(md.digest(), Base64.DEFAULT));
} catch (NoSuchAlgorithmException e) {
Log.e("KeyHash", "Unable to get MessageDigest. signature=" + signature, e);
}
}
}
}
저와같은 안드로이드/자바 삐약이들을 위해서 친절하게 run 하는 방법을 알려드립니다.
1) 안드로이드 - app/java/com.본인프로젝트패키지명/MainActivity.java (=혹은 실행파일)
2) 최상단 Run - Run (NDK 오류시 SDK 매니저를 통해 설치해야한다)
3~4) 최하단 Logcat을 누르고 'KeyHash'를 검색한다.
5) keyHash값이 추출된다.
+ 참고
https://github.com/react-native-seoul/react-native-kakao-login
728x90
'Frontend > React' 카테고리의 다른 글
[React] 클래스형 컴포넌트의 생명주기(LifeCycle) (0) | 2023.07.01 |
---|---|
[React Native] 'react-native-svg' Install 오류 조치 방법 (Could not resolve dependency (0) | 2021.03.17 |
[React-Native] react-navigation V5 (네비게이션) / Route 분기하기 (0) | 2020.07.30 |
React-native 시작하기 [react-native run-android 오류] (0) | 2020.07.08 |
[Git] Git 설치 방법 (0) | 2019.10.24 |