Biometric

생체 인식 또는 기기 사용자 인증 정보로 인증하고 암호화 작업을 실행합니다.
최근 업데이트 현재 안정화 버전 다음 버전 후보 베타 버전 알파 버전
2021년 2월 24일 1.1.0 - - 1.2.0-alpha03

종속 항목 선언

Biometric의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

Groovy

dependencies {
    // Java language implementation
    implementation "androidx.biometric:biometric:1.1.0"

    // Kotlin
    implementation "androidx.biometric:biometric-ktx:1.2.0-alpha03"
}

Kotlin

dependencies {
    // Java language implementation
    implementation("androidx.biometric:biometric:1.1.0")

    // Kotlin
    implementation("androidx.biometric:biometric:1.2.0-alpha03")
}

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 의견을 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새로운 문제 제출하기

자세한 내용은 Issue Tracker 문서를 참고하세요.

버전 1.2.0

버전 1.2.0-alpha03

2021년 2월 24일

androidx.biometric:biometric:1.2.0-alpha03androidx.biometric:biometric-ktx:1.2.0-alpha03이 출시되었습니다. 버전 1.2.0-alpha03에 포함된 커밋을 확인하세요.

API 변경사항

  • CredentialAuthPrompt에 정지 코루틴 확장 프로그램이 추가되었습니다. 이 확장 프로그램은 다른 AuthPrompt 유형을 위한 확장 프로그램과 유사합니다. (I9ac70)

버전 1.2.0-alpha02

2021년 1월 27일

androidx.biometric:biometric:1.2.0-alpha02androidx.biometric:biometric-ktx:1.2.0-alpha02가 출시되었습니다. 버전 1.2.0-alpha02에 포함된 커밋을 확인하세요.

API 변경사항

  • 이전에 빌더를 통해 설정된 일부 AuthPrompt 필드를 startAuthentication(...) 메서드 인수로 리팩터링했습니다. (I18896, b/174098373)
  • 이전 Android 버전에서는 지원이 제한되거나 지원되지 않는 AuthPrompt 유형의 최소 API 수준 요구사항을 추가했습니다. (I18896)
  • 빌더를 통해 설정된 모든 AuthPrompt 필드의 getter 메서드를 추가했습니다. (I18896)
  • AuthPrompt API를 통한 생체 인식 인증을 위해 정지 코루틴 Kotlin 확장 프로그램을 추가했습니다. 이러한 함수는 성공 시 AuthenticationResult를 직접 반환하거나 오류 또는 실패 시(사용자 인증 정보 거부) 예외를 발생시킵니다. (Iffc9e)

버그 수정

  • BiometricManager.canAuthenticate(int)가 Android 10(API 수준 29)에서 지문 센서가 있는 기기의 잘못된 상태 코드를 반환하는 문제를 수정했습니다. (I72420, b/176921662)
  • Android 10(API 수준 29) 및 이전 SDK 버전에서 BiometricManager.canAuthenticate(int)가 생체 인식 하드웨어와 등록된 PIN, 패턴 또는 비밀번호가 없는 기기의 잘못된 상태 코드를 반환하는 문제를 수정했습니다. (I79b7d, b/174505824)
  • BiometricPrompt가 연결된 활동보다 수명 주기가 짧은 프래그먼트에서 호스팅될 때 발생하는 메모리 누수 문제를 수정했습니다. (I70864, b/167014923)

버전 1.2.0-alpha01

2020년 12월 2일

androidx.biometric:biometric:1.2.0-alpha01androidx.biometric:biometric-ktx:1.2.0-alpha01이 출시되었습니다. 버전 1.2.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

  • androidx.biometric:biometric 위에 Kotlin 전용 API 및 프로그램을 추가하는 androidx.biometric:biometric-ktx 모듈을 도입했습니다.

API 변경사항

  • BiometricPrompt를 구성하고 인증을 실행하기 위한 새로운 AuthPrompt API를 추가했습니다. 이러한 API는 onCreate와 같은 초기 수명 주기 콜백에서 BiometricPrompt를 구성할 필요가 없습니다. (I19022)
  • 새로운 AuthPrompt API를 위해 FragmentFragmentActivity에 Kotlin 확장 프로그램을 추가했습니다. (Iaf98c)

버전 1.1.0

버전 1.1.0

2021년 1월 27일

androidx.biometric:biometric:1.1.0이 출시되었습니다. 버전 1.1.0에 포함된 커밋을 확인하세요.

1.0.0 이후 주요 변경사항

  • Android 11에서 도입된 새로운 생체 인식 인증 기능 및 API 업데이트를 위한 이전 버전과의 호환성 지원을 추가했습니다.
  • 라이브러리의 앱 크기 공간을 크게 줄였습니다(경우에 따라 100KB 초과).
  • 이전에 라이브러리로 인해 발생한 메모리 누수의 다양한 소스를 삭제했습니다.
  • 이전 Android 버전의 성능에 영향을 미칠 수 있는 클래스 확인 실패 문제를 수정했습니다.
  • 라이브러리의 안정성 및 동작 개선사항을 다양하게 추가했습니다.

버전 1.1.0-rc01

2020년 11월 11일

androidx.biometric:biometric:1.1.0-rc01가 출시되었습니다. 버전 1.1.0-rc01에 포함된 커밋을 확인하세요.

버그 수정

  • 일부 기기에서 실행한 특정 작업(인증, 취소 등)에서 때때로 NullPointerException이 발생하는 문제를 해결했습니다. (b/151316421)
  • Android 10에서 BiometricManager#canAuthenticate(int)를 사용해 Class 3 생체 인식을 확인할 때 일부 Pixel 기기에서 잘못된 상태가 보고되는 문제를 해결했습니다. (b/170406186)

버전 1.1.0-beta01

2020년 10월 1일

androidx.biometric:biometric:1.1.0-beta01가 출시되었습니다. 버전 1.1.0-beta01에 포함된 커밋을 확인하세요.

새로운 기능

  • Android 8.1 이하에서 대화상자 애니메이션을 정적 애셋으로 대체하여 라이브러리의 APK 크기 공간을 크게 줄였습니다(경우에 따라 100KB 이상 압축). (I4844e)
  • 이제 생체 인식 인증이 잠겨 있으면 BiometricPrompt가 지원되는 모든 Android 버전에서 자동으로 기기 사용자 인증 정보(허용되는 경우)로 대체됩니다. (b/149579143)

버그 수정

  • BiometricPrompt가 지문 센서가 없는 일부 Android 9 기기에서 비정상 종료를 일으키던 문제를 수정했습니다. (b/151443237)
  • FingerprintDialogFragment의 잠재적인 NullPointerException을 수정했습니다. (b/167951429)
  • BiometricManager에서 반영 메서드 호출에 잘못된 CryptoObject 유형을 사용하던 문제를 수정했습니다. (b/165824669)
  • 닫은 직후 BiometricPrompt가 다시 표시되면 일부 Android 10 기기에서 새 메시지가 자동으로 닫히는 문제를 수정했습니다. (b/157783075)
  • FingerprintManagerCompat 사용과 관련된 메모리 누수 문제를 수정했습니다. (b/165840273)
  • 일부 Android 9 기기에서 지문 대화상자 UI가 숨겨지거나 잘못 표시되는 문제를 수정했습니다. (b/154868505, b/148350291)

버전 1.1.0-alpha02

2020년 8월 19일

androidx.biometric:biometric:1.1.0-alpha02가 출시되었습니다. 버전 1.1.0-alpha02에 포함된 커밋을 확인하세요.

새로운 기능

  • 이제 BiometricManager#canAuthenticate()BIOMETRIC_STATUS_UNKNOWN을 반환하여 사용자가 여전히 인증할 수 있음을 나타내거나 BIOMETRIC_ERROR_UNSUPPORTED를 반환하여 지정된 인증자 조합이 기기에서 지원되지 않음을 나타낼 수 있습니다.
  • 이제 BiometricPrompt#authenticate()오직 Android 11(API 수준 30) 이상에서만 연결된 CryptoObject와 함께 기기 사용자 인증 정보 인증에 사용할 수 있습니다.

API 변경사항

버그 수정

  • BiometricFragmentBiometricViewModel의 LeakCanary에서 보고된 메모리 누수가 수정되었습니다. (b/144919472)
  • BiometricViewModel이 백그라운드 스레드에서 MutableLiveData#setValue()를 더 이상 호출하지 않도록 했습니다. (b/159983244)
  • BiometricPrompt가 일부 API 수준에서 임시 잠금을 올바르게 처리하지 않는 문제가 수정되었습니다. (9acfce9)
  • BiometricPrompt가 일부 API 수준에서 화면 잠금 사용자 인증 정보로 보호되지 않는 기기의 잘못된 오류 코드를 반환하는 문제가 수정되었습니다. (b/148626482)
  • BiometricManagerBiometricPrompt가 일부 API 수준에서 키가드 구현이 없는 기기의 잘못된 오류 코드를 반환하는 문제가 수정되었습니다. (891c6e0)

버전 1.1.0-alpha01

2020년 6월 24일

androidx.biometric:biometric:1.1.0-alpha01가 출시되었습니다. 버전 1.1.0-alpha01에 포함된 커밋을 확인하세요.

새로운 기능

  • 메모리 누수 및 기타 의도하지 않은 동작의 잠재적인 원인을 해결하기 위해 내부 라이브러리 구현이 리팩터링되었습니다.
    • 이제 내부 프래그먼트가 클라이언트 애플리케이션의 활동 수명 주기에 연결된 ViewModel을 사용하여 데이터를 공유하고 유지합니다.
    • Android 10(API 수준 29) 이전의 기기 사용자 인증 정보가 더 이상 클라이언트 애플리케이션 내에서 투명한 활동을 시작하지 않습니다.

버그 수정

  • FingerprintManagerCompat 사용과 관련된 지원 중단 경고가 해결되었습니다. (b/142967618)
  • 이전 Android 버전에서 클래스 확인 문제를 방지하기 위해 SDK로 관리되는 플랫폼 메서드의 호출 방식이 변경되었습니다. (94beb4b)
  • 공개 API의 일부가 아닌 Gradle 종속 항목을 더 이상 라이브러리에서 내보내지 않습니다. (f289d9e)

버전 1.0.1

버전 1.0.1

2019년 12월 18일

androidx.biometric:biometric:1.0.1가 출시되었습니다. 버전 1.0.1에 포함된 커밋을 확인하세요.

버그 수정

  • 영향받는 알려진 공급업체의 암호화 기반 인증에 관한 기존 지문 대체 해결 방법을 확장하면서 API 28로 제한했습니다. (b/143361271 참조)
  • 특정 기기에서 시스템 오버레이에 생체 인식 대화상자가 표시되는 문제를 해결했습니다. (b/143230260 참조)
  • setDeviceCredentialAllowed(true)의 몇 가지 문제가 해결되었습니다. (b/143091227, b/143097321, b/143653944 참조)
  • 특정 Android 버전에서 사용자가 기기 사용자 인증 정보를 확인한 후 onAuthenticationSuccess가 때때로 호출되지 않던 문제를 해결했습니다. (b/145232806 참조)
  • 특정 Android 버전에서 회전 시 메시지가 닫힐 때 onAuthenticationError가 때때로 호출되지 않던 문제를 해결했습니다. (b/145230042 참조)
  • 특정 Android 버전에서 특정 오류 코드를 수신할 때 메시지가 닫히지 않던 문제를 해결했습니다. (b/143683687 참조)
  • BiometricFragment의 잠재적인 NullPointerException을 해결했습니다. (b/142599311 참조)

버전 1.0.0

버전 1.0.0

2019년 11월 7일

androidx.biometric:biometric:1.0.01.0.0-rc02 이후 변경사항 없이 출시되었습니다. 버전 1.0.0에 포함된 커밋을 확인하세요.

1.0.0의 주요 기능

  • Android 10에서 구현된 BiometricPromptBiometricManager API의 호환성 버전, Android 6.0(API 23)까지 전체 기능 지원
  • Fragment 또는 FragmentActivity 내에 BiometricPrompt용으로 내장된 수명 주기 관리
  • 암호화 기반 인증 중에 약한 생체 인식을 잘못 표시하는 것으로 알려진 기기에 관한 특별한 처리

버전 1.0.0-rc02

2019년 10월 23일

androidx.biometric:biometric:1.0.0-rc02가 출시되었습니다. 버전 1.0.0-rc02에 포함된 커밋을 확인하세요.

버그 수정

  • API 버전 28 및 29에서 암호화 기반 인증을 호출할 때 약한 생체 인식을 잘못 제공하는 것으로 알려진 기기를 위한 해결 방법을 추가했습니다. (b/142150327 참조)

버전 1.0.0-rc01

2019년 10월 9일

androidx.biometric:biometric:1.0.0-rc01가 출시되었습니다. 버전 1.0.0-rc01에 포함된 커밋을 확인하세요.

버그 수정

  • 화면이 회전하는 동안 닫을 때 FingerprintDialogFragment에서 잠재적인 비정상 종료가 발생하는 문제를 해결했습니다. (b/141356362 참조)
  • 프레임워크 API에서 null AuthenticationResult가 수신될 때 비정상 종료가 발생할 수 있는 문제를 해결했습니다. (b/138862251 참조)
  • onSaveInstanceState() 이후에 닫히는 중에 BiometricPrompt에서 발생하는 비정상 종료 문제를 해결했습니다. (b/138825362, b/140447194 참조)

버전 1.0.0-beta02

2019년 9월 18일

androidx.biometric:biometric:1.0.0-beta02가 출시되었습니다. 버전 1.0.0-beta02에 포함된 커밋을 확인하세요.

버그 수정

  • 1.0.0-beta01 버전의 기기 사용자 인증 정보 지원 관련 문제를 해결했습니다.
  • 자바 8 의존성을 삭제하고 자바 7에 의존하도록 전환했습니다. (b/140508526 참조)
  • 지문 하드웨어가 감지되지 않을 때 이제 FingerprintHelperFragment에서 올바르게 ERROR_HW_NOT_PRESENT가 발생합니다. (b/140427586 참조)

버전 1.0.0-beta01

2019년 8월 29일

androidx.biometric:biometric:1.0.0-beta01가 출시되었습니다. 버전 1.0.0-beta01에 포함된 커밋을 확인하세요.

새로운 기능

BiometricPrompt가 Fragment에서 호스팅될 수 있도록 하는 두 번째 생성자를 도입했습니다(기존 생성자는 FragmentActivity가 필요함).

또한 다음과 같은 Android 10 기능을 AndroidX Biometric 라이브러리에 도입했습니다.

  1. BiometricManager#canAuthenticate
  2. BiometricPrompt.PromptInfo#setConfirmationRequired
  3. BiometricPrompt.PromptInfo#setDeviceCredentialAllowed

Android 10에서 라이브러리는 플랫폼 API에서 상응하는 메서드를 호출합니다. 이전 API 레벨에서 라이브러리는 동작을 에뮬레이션합니다.

API 변경사항

  • 생체 인식 프롬프트를 위한 프래그먼트별 생성자를 추가했습니다. (b/131980596 참조)
  • 위의 '새로운 기능' 섹션을 참조하세요.

버그 수정

  • L+용 BiometricPrompt 기기 사용자 인증 정보 지원을 추가합니다.
  • 공개 오류 상수를 사용하도록 BiometricPrompt를 수정했습니다. (b/137788194 참조)
  • BiometricPrompt.onAttach()NullPointerException을 수정합니다. (b/136103103 참조)
  • BiometricPrompt가 프롬프트 외부의 터치 이벤트에 의해 취소되지 않도록 동작을 변경했습니다. (b/135684487 참조)
  • Kotlin에서 null 오류 값이 반환되는 경우 onAuthenticationError 비정상 종료 문제를 해결했습니다. (b/128350861 참조)
  • 이제 FingerprintDialogFragment에 스타일을 지정할 수 있습니다. (b/127878106 참조)
  • 이제 FingerprintDialog를 스크롤할 수 있습니다. (b/126367887 참조)
  • 생체 인식 대화상자를 회전하면 IllegalStateException이 발생하는 버그를 수정했습니다. (b/124153656b/123811924 참조)
  • API 수준 23에서 27 사이의 일관되지 않은 동작을 수정했습니다. (b/124066957 참조)
  • 지문 로그인 대화상자에서 음성 안내 지원을 사용해 텍스트를 잘못 읽는 문제를 해결했습니다. (b/123572331 참조)

버전 1.0.0-alpha04

2019년 4월 3일

androidx.biometric:biometric:1.0.0-alpha04가 출시되었습니다. 이 버전에 포함된 커밋은 여기에서 확인할 수 있습니다.

버그 수정

  • Biometric 프래그먼트가 모든 사례에서 정리되지 않는 문제를 해결했습니다(b/121117380).
  • BiometricPromptBiometricPrompt.AuthenticationCallback 인스턴스 1개만 허용되는 문제를 해결했습니다. (b/123857949 참조)
  • 시스템 버전과 compat 버전 사이에서 일관되지 않는 BiometricPrompt 오류 동작을 수정했습니다. (b/123572326 참조)
  • 런타임에 @NotNull errString에서 NullPointerException이 발생하는 콜백 onAuthenticationError()를 수정했습니다. (b/123167217 참조)
  • androidx.BiometricPrompt 취소 버튼 비정상 종료 문제를 해결했습니다. (b/122054485 참조)
  • Android P에서 androidx.biometric.PromptInfo 제목/설명이 변경되지 않는 문제를 해결했습니다. (b/122856773 참조)

버전 1.0.0-alpha03

2018년 12월 17일

버그 수정

  • fragment 관련 문제를 해결했습니다.
  • O 이전의 기기에서는 잠금 오류가 즉시 반환되어 P 이상과 일관되도록 합니다.