適用於 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 裝置。
安裝以檢查的應用程式。
安裝套件偵測器
有兩種方法可以安裝套件偵測器:
選項 1:直接將 Android MSAL 存放庫複製到 Android Studio
開啟 Android Studio 並關閉任何開啟的專案。
從版本控制 選取 [取得]。
[從版本控制] 選項的螢幕快照
確定已選取視窗頂端 Git,貼上 Android MSAL 存放庫 URL
https://github.com/AzureAD/microsoft-authentication-library-for-android.git
,然後選取 [複製 ]。
選項 2:下載 Android MSAL 存放庫,並在 Android Studio 中開啟它
將 zip 檔案解壓縮到您選取的目錄。
開啟 Android Studio 並關閉任何開啟的專案。
選擇 [開啟現有的項目。
選取 Android MSAL 存放庫 msal-android 的根套件。 然後選擇 確定。
根套件的螢幕快照
備註
- 根套件的預設名稱是
microsoft-authentication-library-for-android-dev
。 在這裡範例中,它會重新命名為msal-android
。 - 請勿選取 套件偵測器 目錄。
- 根套件的預設名稱是
使用套件偵測器
在 Android Studio 中開啟 Android MSAL 專案後,請連線所需的 Android 裝置。 它可以是連線到計算機 USB 埠的實體裝置,或從 Android Studio 的 AVD 管理員開機的模擬器。 確定您的裝置會出現在 Android Studio 頂端的下拉式清單中,然後加以選取。
在裝置下拉式清單的左側,有另一個下拉式清單。 從 套件偵測器 選取。
選取 [播放 按鈕(右側以綠色圓圈表示),以在選取的裝置上建置、安裝及執行套件偵測器。
流覽套件偵測器應用程式中的套件清單,然後選取套件以檢視其簽章哈希。 所有可存取的套件都會出現在此清單中。
常見問題
將套件偵測器載入 Android Studio 時發生問題
若要解決這些問題,請確定您從 MSAL 存放庫載入根套件,而不是套件偵測器。 請確定您載入 Android Studio 的 Android MSAL 專案名為 microsoft-authentication-library-for-android-dev
或任何您重新命名系統上的根目錄,而不是 package-inspector
。 如需詳細資訊,請參閱 安裝套件偵測器 一節中 選項 2 下的步驟 5。
並非所有套件都會出現在套件偵測器中
您已安裝並開啟套件偵測器,且應用程式中會出現套件清單。 不過,您看不到裝置上已安裝之任何應用程式的套件。 此問題可能是因為Android 11 (API 30) 中的變更所造成。 如需詳細資訊,請參閱 套件可見度。
若要解決此問題,請依照下列步驟執行︰
在 Android Studio 左側的
package-inspector
目錄中開啟 AndroidManifest.xml 檔案。在
<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>
從 Android Studio 重新執行應用程式以套用變更。 然後,您可以看到已安裝的套件。
與我們連絡,以取得說明
如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以向 Azure 意見反應社群提交產品意見反應。