共用方式為


MSAL Android Native 的套件偵測器

適用於 Android Native 的 Microsoft 驗證連結庫 (MSAL) 包含稱為套件偵測器的工具。 此工具會列出安裝在 Android 裝置上的套件,並允許使用者檢視、複製和貼上用來簽署應用程式套件的簽章哈希。 套件偵測器對於針對 Android 裝置上安裝的應用程式進行疑難解答和驗證簽章哈希是無價的。 本文涵蓋套件偵測器的安裝、使用方式和常見問題。

使用封裝偵測器的案例

  • 您已成功開發應用程式以使用 MSAL,但在將應用程式部署至 Google Play Store 之後,應用程式無法執行驗證。

    在此案例中,套件偵測器有助於探索Google用來簽署應用程式套件的新簽章哈希。

  • 您是在 Android 應用程式中實作 MSAL,但發生下列錯誤:

    組態檔中的重新導向 URI 與套件名稱和簽章哈希所產生的 URI 不符。 請確認組態檔中的 URI,以及您在 Azure 入口網站 中的應用程式註冊。

    在此案例中,您可以使用套件偵測器來確認套件簽章哈希是什麼,並將 Azure 入口網站和應用程式設定為使用正確的簽章哈希。

  • 您是在 Android 應用程式中實作 MSAL,但發生下列錯誤:

    意圖篩選:BrowserTabActivity 遺失

    之所以發生此錯誤,是因為 AndroidManifest.xml 檔案中指定的簽章哈希不符合用來簽署 APK 檔案的簽章哈希。 在此案例中,套件偵測器有助於驗證簽章哈希是什麼。

備註

如需 Android 原生 MSAL 的詳細資訊,請參閱適用於 Android Microsoft 驗證連結庫 (MSAL)。

先決條件

開始之前,請確定您有下列專案:

  • 已安裝最新版的 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 中複製 Git 存放庫的螢幕快照

選項 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 Studio 中開啟 Android MSAL 專案後,請連線所需的 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 community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。