次の方法で共有


MSAL Android ネイティブのパッケージ インスペクター

Microsoft Authentication Library (MSAL) for Android Native には、Package Inspector というツールが含まれています。 このツールは、Android デバイスにインストールされているパッケージを一覧表示し、ユーザーがアプリケーションのパッケージの署名に使用する署名ハッシュを表示、コピー、貼り付けることができます。 Package Inspector は、Android デバイスにインストールされているアプリケーションの署名ハッシュのトラブルシューティングと検証に非常に役立ちます。 この記事では、パッケージ インスペクターのインストール、使用方法、および一般的な問題について説明します。

Package Inspector を使用するためのシナリオ

  • MSAL を使用するアプリケーションは正常に開発されましたが、アプリを Google Play ストアにデプロイした後、アプリは認証を実行できません。

    このシナリオでは、Package Inspector は、Google がアプリ パッケージに署名するために使用する新しい署名ハッシュを検出するのに役立ちます。

  • Android アプリケーションで MSAL を実装していますが、次のエラーが発生します。

    構成ファイル内のリダイレクト URI が、パッケージ名と署名ハッシュで生成されたリダイレクト URI と一致しません。 構成ファイルの URI と Azure portal でのアプリの登録を確認してください。

    このシナリオでは、Package Inspector を使用してパッケージ署名ハッシュが何であるかを確認し、Azure portal とアプリケーションの両方で正しい署名ハッシュを使用するように構成できます。

  • Android アプリケーションで MSAL を実装していますが、次のエラーが発生します。

    意図フィルター: BrowserTabActivity が見つかりません

    このエラーは、AndroidManifest.xml ファイルで指定された署名ハッシュが、APK ファイルの署名に使用される署名ハッシュと一致しないために発生します。 このシナリオでは、Package Inspector は署名ハッシュが何であるかを確認するのに役立ちます。

Android ネイティブ用 MSAL の詳細については、「Microsoft Authentication Library (MSAL) for Android 」を参照してください。

前提条件

開始する前に、次のことを確認してください。

  • 最新バージョンの Android Studio がインストールされています。

    Android Studio には AVD マネージャーが付属しています。 詳細については、「仮想デバイスの作成と管理」を参照してください。

  • アプリケーションがインストールされている仮想 Android デバイス。

  • 開発者オプション、USB デバッグが有効な物理デバイス、および USB ケーブル。 詳細については、「デバイス上の開発者オプションの構成」を参照してください。

  • 検査対象のアプリケーションがインストールされている。

パッケージインスペクターをインストールする

Package Inspector をインストールするには、次の 2 つの方法があります。

オプション 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 で Git リポジトリを複製する方法を示すスクリーンショット

オプション 2: Android MSAL リポジトリをダウンロードし、Android Studio で開く

  1. Android MSAL リポジトリをダウンロードします。

  2. 選択したディレクトリに zip ファイルを抽出します。

  3. Android Studio を開き、開いているプロジェクトをすべて閉じます。

  4. [既存のプロジェクト 開く] を選択します。

    Android Studioスクリーンショット

  5. Android MSAL リポジトリの msal-android ルート パッケージを選択します。 [OK] をクリックします。

    Android Studioスクリーンショット

    • ルート パッケージの既定の名前は microsoft-authentication-library-for-android-devです。 この例では、名前が msal-androidに変更されています。
    • package-inspector ディレクトリを選択しないでください。

Package Inspector を使用する

  1. Android Studio で Android MSAL プロジェクトを開いた状態で、目的の Android デバイスを接続します。 コンピューターの USB ポートに接続されている物理デバイス、または Android Studio の AVD マネージャーから起動したエミュレーターを使用できます。 Android Studio の上部にあるドロップダウン リストにデバイスが表示されていることを確認し、選択します。

  2. デバイスのドロップダウン リストの左側には、別のドロップダウン リストがあります。 package-inspector を選択します。

    Android Studio でのパッケージインスペクターの選択を示すスクリーンショット

  3. 再生 ボタン (右側に緑色の円で示されています) を選択して、選択したデバイスでパッケージ インスペクターをビルド、インストール、実行します。

    Android Studio の再生ボタンの選択を示すスクリーンショット

  4. Package Inspector アプリでパッケージの一覧を参照し、パッケージを選択して署名ハッシュを表示します。 アクセス可能なすべてのパッケージがこの一覧に表示されます。

    Package Inspector アプリの でのパッケージの選択を示すスクリーンショット

一般的な問題

Android Studio にパッケージ インスペクターを読み込む際の問題

これらの問題を解決するには、パッケージインスペクターではなく、MSAL リポジトリからルート パッケージを読み込みます。 Android Studio に読み込む Android MSAL プロジェクトの名前が microsoft-authentication-library-for-android-dev であることを確認します。または、package-inspectorではなく、システムのルート ディレクトリの名前を変更したことを確認します。 詳細については、「Install 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 フィードバック コミュニティに製品フィードバックを送信することもできます。