안드로이드 해시키
조회수 788회
@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("not fount", e.toString())
}
}
해시키 찾으려고 구글링해서 코드 복사했는데 계속 다음과 같은 오류가 뜹니다. 어떻게 해야 하나요?
java.lang.NoSuchFieldError: No field signingInfo of type Landroid/content/pm/SigningInfo; in class Landroid/content/pm/PackageInfo; or its superclasses (declaration of 'android.content.pm.PackageInfo' appears in /system/framework/framework.jar)
댓글 입력