다음을 통해 공유


MSAL Android 네이티브용 패키지 검사기

Android 네이티브용 MSAL(Microsoft 인증 라이브러리)에는 패키지 검사기라는 도구가 포함되어 있습니다. 이 도구는 Android 디바이스에 설치된 패키지를 나열하고 사용자가 애플리케이션의 패키지에 서명하는 데 사용되는 서명 해시를 보고, 복사하고, 붙여넣을 수 있도록 합니다. 패키지 검사기는 Android 디바이스에 설치된 애플리케이션의 서명 해시 문제를 해결하고 확인하는 데 매우 중요합니다. 이 문서에서는 패키지 검사기의 설치, 사용량 및 일반적인 문제에 대해 설명합니다.

패키지 검사기 사용 시나리오

  • MSAL을 사용하는 애플리케이션을 성공적으로 개발했지만 Google Play 스토어에 앱을 배포한 후 앱이 인증을 수행하지 못합니다.

    이 시나리오에서 패키지 관리자는 Google에서 앱 패키지에 서명하는 데 사용하는 새 서명 해시를 검색하는 데 유용합니다.

  • Android 애플리케이션에서 MSAL을 구현하고 있지만 다음 오류가 발생합니다.

    구성 파일의 리디렉션 URI는 패키지 이름 및 서명 해시로 생성된 리디렉션 URI와 일치하지 않습니다. 구성 파일의 URI와 Azure Portal의 앱 등록을 확인하세요.

    이 시나리오에서는 패키지 검사기를 사용하여 패키지 서명 해시가 무엇인지 확인하고 올바른 서명 해시를 사용하도록 Azure Portal과 애플리케이션을 모두 구성할 수 있습니다.

  • Android 애플리케이션에서 MSAL을 구현하고 있지만 다음 오류가 발생합니다.

    의도 필터: BrowserTabActivity가 없습니다.

    이 오류는 AndroidManifest.xml 파일에 지정된 서명 해시가 APK 파일에 서명하는 데 사용되는 서명 해시와 일치하지 않기 때문에 발생합니다. 이 시나리오에서 패키지 검사기는 서명 해시가 무엇인지 확인하는 데 유용합니다.

비고

Android 네이티브용 MSAL에 대한 자세한 내용은 Android 대한 MSAL(Microsoft 인증 라이브러리)참조하세요.

필수 조건

시작하기 전에 다음이 있는지 확인합니다.

  • 최신 버전의 Android Studio가 설치되었습니다.

    Android Studio는 AVD 관리자와 함께 제공됩니다. 자세한 내용은 가상 디바이스 만들기 및 관리참조하세요.

  • 애플리케이션이 설치된 가상 Android 디바이스입니다.

  • 개발자 옵션, USB 디버깅이 사용하도록 설정된 물리적 디바이스 및 USB 케이블. 자세한 내용은 디바이스 개발자 옵션 구성을 참조하세요.

  • 검사할 애플리케이션이 설치되어 있습니다.

패키지 검사기 설치

패키지 검사기를 설치하는 방법에는 다음 두 가지가 있습니다.

옵션 1: Android MSAL 리포지토리를 Android Studio에 직접 복제

  1. Android Studio를 열고 열려 있는 프로젝트를 닫습니다.

  2. 버전 제어 선택합니다.

    Android Studio스크린샷

  3. 창 맨 위에 Git 선택하고 Android MSAL 리포지토리 URL https://github.com/AzureAD/microsoft-authentication-library-for-android.git붙여넣은 다음, 복제선택합니다.

    Android Studio스크린샷

옵션 2: Android MSAL 리포지토리 다운로드 및 Android Studio에서 열기

  1. Android MSAL 리포지토리다운로드합니다.

  2. 선택한 디렉터리에 zip 파일을 추출합니다.

  3. Android Studio를 열고 열려 있는 프로젝트를 닫습니다.

  4. 기존 프로젝트엽니다.

    Android Studio스크린샷

  5. Android MSAL 리포지토리에 대한 msal-android 루트 패키지를 선택합니다. 그런 다음 확인을 선택합니다.

    Android Studio스크린샷

    비고

    • 루트 패키지의 기본 이름은 microsoft-authentication-library-for-android-dev. 이 예제에서는 이름이 msal-android.
    • 패키지 검사기 디렉터리를 선택하지 마세요.

패키지 검사기 사용

  1. Android MSAL 프로젝트가 Android Studio에서 열리면 원하는 Android 디바이스를 연결합니다. 컴퓨터의 USB 포트에 연결된 물리적 디바이스 또는 Android Studio의 AVD 관리자에서 부팅된 에뮬레이터일 수 있습니다. 디바이스가 Android Studio 맨 위에 있는 드롭다운 목록에 표시되는지 확인하고 선택합니다.

  2. 디바이스 드롭다운 목록의 왼쪽에는 또 다른 드롭다운 목록이 있습니다. 패키지 검사기 선택합니다.

    Android Studio스크린샷

  3. 재생 단추(오른쪽에 녹색 원으로 표시됨)를 선택하여 선택한 디바이스에서 패키지 검사기를 빌드, 설치 및 실행합니다.

    Android Studio스크린샷

  4. 패키지 검사기 앱에서 패키지 목록을 찾아보고 해당 서명 해시를 볼 패키지를 선택합니다. 액세스 가능한 모든 패키지가 이 목록에 표시됩니다.

    패키지 검사기 앱스크린샷

일반적인 문제

Android Studio에 패키지 검사기 로드 시 발생하는 문제

이러한 문제를 해결하려면 패키지 검사기에서가 아니라 MSAL 리포지토리에서 루트 패키지를 로드해야 합니다. Android Studio에 로드하는 Android MSAL 프로젝트의 이름이 microsoft-authentication-library-for-android-dev 또는 package-inspector대신 시스템의 루트 디렉터리 이름을 변경했는지 확인합니다. 자세한 내용은 패키지 검사기 설치 섹션의 옵션 2 아래의 5단계를 참조하세요.

패키지 검사기에서 모든 패키지가 표시되지는 않음

패키지 검사기를 설치하고 열었으며 패키지 목록이 앱에 표시됩니다. 그러나 디바이스에 설치한 앱에 대한 패키지는 표시되지 않습니다. 이 문제는 Android 11(API 30)의 변경으로 인해 발생할 수 있습니다. 자세한 내용은 패키지 표시 유형참조하세요.

이 문제를 해결하려면 다음 단계를 따릅니다.

  1. Android Studio 왼쪽의 package-inspector 디렉터리 내에서 AndroidManifest.xml 파일을 엽니다.

  2. <manifest></manifest> 태그 사이에 다음 사용 권한 및 쿼리를 추가합니다.

    <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.microsoft.inspector"></manifest>
    ...
    
    <permission android:name="android.permission.QUERY_ALL_PACKAGES" />
    
    <queries>
        <intent>
            <action android:name="android.intent.action.MAIN" />
        </intent>
    </queries>
    
  3. Android Studio에서 애플리케이션을 다시 실행하여 변경 내용을 적용합니다. 그런 다음 설치한 패키지를 볼 수 있습니다.

도움을 요청하십시오.

질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.