반응형
카카오 디벨로퍼 연결을 위한 키해시값 얻는 방법
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
import android.content.pm.PackageManager
import android.os.Build
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Base64
import android.util.Log
import androidx.annotation.RequiresApi
import java.security.MessageDigest
import java.util.*
class MainActivity : AppCompatActivity() {
@RequiresApi(Build.VERSION_CODES.P)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
try {
val info = packageManager.getPackageInfo(packageName, PackageManager.GET_SIGNING_CERTIFICATES)
val signatures = info.signingInfo.apkContentsSigners
val md = MessageDigest.getInstance("SHA")
for (signature in signatures) {
val md: MessageDigest
md = MessageDigest.getInstance("SHA")
md.update(signature.toByteArray())
val key = String(Base64.encode(md.digest(), 0))
Log.d("Hash key:", "!!!!!!!$key!!!!!!")
}
} catch (e: Exception) {
Log.e("name not found", e.toString())
}
}
}
|
cs |
참고자료
*** 긴 코드 적지 않고 키해시 아는 방법
keytool -exportcert -alias androiddebugkey -keystore ~/.android/debug.keystore -storepass android -keypass android | openssl sha1 -binary | openssl base64
터미널에 위 코드 작성 후 실행
*** 2020.11.05 추가
('keytool'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. )
터미널을 이용해 키해시 값을 얻는 과정에서 keytool 함수 실행에 위의 문제가 있는 경우
해결방법
-jdk와 jre환경변수 path 설정
jdk와 jre 설치되어 있는 것을 확인한 후
제어판=> 시스템 및 보안 => 시스템 => 설정변경 => 고급 => 환경변수
시스템변수 => path => 편집
=> jdk와 jre가 목록에 있는지 확인한 후 없으면 => 새로만들기 클릭 후 파일 주소를 넣어준다.
이후 keytool을 사용해보면 키해시값을 얻을 수 있다.
출처
반응형
'Programming > Android' 카테고리의 다른 글
[네이버 길찾기 API] Direction 5 API with Kotlin, Retrofit2 (11) | 2020.11.20 |
---|---|
[안드로이드] 카카오맵 API UnsatisfiedLinkError (0) | 2020.11.09 |
[MVVM] 데이터 바인딩 data-binding (Activity, fragment) (0) | 2020.11.03 |
[Android] 프레그먼트 Fragment 란? (0) | 2020.10.28 |
댓글