使用 Android 版 Microsoft Intune App Wrapping Tool,限制應用程式的功能,而不變更應用程式本身的程式碼,以變更內部作業 Android 應用程式的行為。
此工具是在 PowerShell 中執行的 Windows 命令列應用程式,並圍繞您的 Android 應用程式建立包裝函式。 應用程式包裝之後,您可以在 Intune 中設定行動應用程式管理原則來變更應用程式的功能。
在執行工具之前,請檢閱執行 App Wrapping Tool 的安全性考量。 若要下載工具,請移至 GitHub 上的 Android 版Microsoft Intune App Wrapping Tool。
注意事項
如果您在應用程式中使用Intune App Wrapping Tool時發生問題,請在 GitHub 上提交協助要求。
滿足使用 App Wrapping Tool 的先決條件
您的應用程式必須使用最新的文件庫
您的應用程式必須符合 Google Play 需求
如果您的應用程式很複雜,它必須與適用於 Android 的 Intune App SDK 整合
您必須在執行 Windows 10 或更新版本的 Windows 電腦上執行 App Wrapping Tool。
您的輸入應用程式必須是有效的 Android 應用程式套件,副檔名為 .apk,並且:
- 它無法加密。
- 它之前不得由Intune App Wrapping Tool包裝。
- 它必須為 Android 9.0 或更高版本編寫。
注意事項
如果您的輸入應用程式是 Android App Bundle (.aab) ,您必須先將其轉換成 APK,才能使用Intune App Wrapping Tool。 如需詳細資料,請參閱 將 Android App Bundle (AAB) 轉換為 APK。 截至 2021 年 8 月, 新的私人應用程式仍可以 APK 的形式發佈到 Google Play 商店。
該應用程式必須由貴公司開發或為貴公司開發。 您無法在 Google Play 商店中提供的應用程式上使用此工具。 這包括從 Google Play 商店下載或取得應用程式。
若要執行 App Wrapping Tool,您必須安裝最新版本的 Java 執行階段環境,然後確定 Java 路徑變數已設定為 Windows 環境變數中的 C:\ProgramData\Oracle\Java\javapath。 如需更多說明,請參閱 Java 文件。
注意事項
在某些情況下,32 位元版本的 Java 可能會導致記憶體問題。 建議您安裝 64 位元版本。
Android 要求所有應用程式套件 (.apk) 都經過簽署。 如需 重複使用 現有憑證和整體簽署憑證指南,請參閱 重複使用簽署憑證和包裝應用程式。 使用Intune App Wrapping Tool包裝.apk檔案後,建議使用 Google 提供的 Apksigner 工具。 這將確保您的應用程式到達終端使用者裝置之後,可以按照 Android 標準正常啟動。
(選擇性) 有時候應用程式可能會達到 Dalvik Executable (DEX) 大小限制,因為在包裝期間會新增Intune MAM SDK 類別。 DEX 檔案是 Android 應用程式編譯的一部分。 從 v. 1.0.2501.1) 起,Intune App Wrapping Tool會在最小 API 層級為 21 或更高 (應用程式的包裝期間自動處理 DEX 檔案溢位。 對於最小 API 層級為 < 21 的應用程式,最佳做法是使用包裝函式的
-UseMinAPILevelForNativeMultiDex旗標來增加最小 API 層級。 對於無法提高應用程式最低 API 層級的客戶,可以使用下列 DEX 溢位因應措施。 在某些組織中,這可能需要與編譯應用程式的相關人員合作, (即。應用程式組建團隊) :- 使用 ProGuard 從應用程式的主要 DEX 檔案中刪除未使用的類別參考。
- 對於使用 v3.1.0 或更新版本 Android Gradle 外掛程式的客戶,請停用 D8 dexer。
我應該多久使用 Intune App Wrapping Tool 重新包裝一次 Android 應用程式?
您需要重新包裝應用程式的主要案例如下:
該應用程序本身已發布新版本。 先前版本的應用程式已包裝並上傳至 Microsoft Intune 系統管理中心。
Android 版 Intune App Wrapping Tool 已發行新版本,可啟用重大錯誤修正或新的特定 Intune 應用程式保護原則功能。 這每 6-8 週會透過 Android 版 Microsoft Intune App Wrapping Tool 的 GitHub 存放庫發生一次。
重新包裝的一些最佳做法包括:
- 維護建置過程中使用的簽署憑證,請參閱 重複使用簽署憑證和包裝應用程式
安裝 App Wrapping Tool
從 GitHub 存放庫,將 Android 版 Intune App Wrapping Tool 的安裝檔案 InstallAWT.exe 下載到 Windows 電腦。 開啟安裝檔案。
接受授權合約,然後完成安裝。
記下您安裝工具的資料夾。 預設位置為:C:\Program Files (x86) \Microsoft Intune Mobile Application Management\Android\App Wrapping Tool。
執行 App Wrapping Tool
重要事項
Intune 會定期發行Intune App Wrapping Tool更新。 定期檢查 Android 版 Intune App Wrapping Tool 以取得更新,並將納入軟體開發發行週期,以確保您的應用程式支援最新的應用程式保護原則設定。
在安裝 App Wrapping Tool 的 Windows 電腦上,開啟 PowerShell 視窗。
從安裝工具的資料夾中,匯入 App Wrapping Tool PowerShell 模組:
Import-Module .\IntuneAppWrappingTool.psm1請使用 invoke-AppWrappingTool 命令執行此工具,其使用語法如下:
Invoke-AppWrappingTool [-InputPath] <String> [-OutputPath] <String> [<CommonParameters>]下表詳細說明 invoke-AppWrappingTool 命令的屬性:
| Property | Information |
|---|---|
| -InputPath<字串> | 來源 Android 應用程式 (.apk) 的路徑。 |
| -OutputPath<字串> | 輸出 Android 應用程式的路徑。 如果這與 InputPath 的目錄路徑相同,則封裝將會失敗。 |
| <CommonParameters> | (選擇性) 此命令支援常見的 PowerShell 參數,例如詳細資訊和偵錯。 |
如需常用參數的清單,請參閱 Microsoft 指令碼中心。
若要查看工具的詳細使用資訊,請輸入命令:
Help Invoke-AppWrappingTool
範例:
匯入 PowerShell 模組。
Import-Module "C:\Program Files (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool\IntuneAppWrappingTool.psm1"
在原生應用程式HelloWorld.apk上執行App Wrapping Tool。
invoke-AppWrappingTool -InputPath .\app\HelloWorld.apk -OutputPath .\app_wrapped\HelloWorld_wrapped.apk -Verbose
包裝的應用程式和記錄檔會產生並儲存在您指定的輸出路徑中。
重複使用簽署憑證和包裝應用程式
Android 要求所有應用程式都必須以有效憑證簽署,才能安裝在 Android 裝置上。
包裝的應用程式可以在包裝 後 使用現有的簽署工具進行簽署, (應用程式中的任何簽署資訊,然後才捨棄包裝) 。 可能的話,應在包裝期間使用建置程序期間已使用的簽署資訊。 在某些組織中,這可能需要與擁有金鑰存放區資訊的任何人合作, (IE。應用程式組建團隊) 。
如果無法使用先前的簽署憑證,或之前尚未部署應用程式,您可以遵循 Android 開發人員指南中的指示建立新的簽署憑證。
如果應用程式先前已使用不同的簽署憑證進行部署,則升級之後無法將該應用程式上傳至 Intune。 如果您的應用程式使用與建置應用程式所用的憑證不同的憑證來簽署,則應用程式升級案例將會中斷。 因此,應該保留任何新的簽署憑證,以進行應用程式升級。
執行 App Wrapping Tool 的安全性考量
若要防止潛在的詐騙、資訊洩漏和權限提高攻擊:
確定輸入企業營運 (LOB) 應用程式,以及輸出應用程式,位於執行 App Wrapping Tool 的同一台 Windows 電腦上。
在執行工具的同一部電腦上,將輸出應用程式匯入 Intune。 如需 Java keytool 的詳細資訊,請參閱 keytool 。
如果輸出應用程式和工具在通用命名慣例 (UNC) 路徑上,而且您不是在同一部電腦上執行該工具和輸入檔案,請使用 網際網路通訊協定安全性 (IPsec) 或伺服器 訊息區 (SMB) 簽署來設定安全環境。
確定應用程式來自受信任的來源。
保護具有包裝應用程式的輸出目錄。 請考慮針對輸出使用使用者層級目錄。
將 Android App Bundle (AAB) 轉換為 APK
Intune App Wrapping Tool目前僅支援 APK 輸入。 Android 應用程式套件必須先轉換成 APK 才能搭配工具使用。
您可以使用 Google 的命令列工具將 Android App Bundle 轉換為 APK。 bundletool 最新版本 bundle-tool 可以從 Google 的 捆綁工具 GitHub 存儲庫下載。
bundletool可用來產生單一通用 APK,以搭配Intune App Wrapping Tool使用下列命令:
bundletool build-apks --bundle=input.aab --mode=universal --output=input.apks
.apks輸出檔案是包含單一通用 APK 檔案的 ZIP 封存檔。 解壓縮封存檔,然後使用該 APK 檔案做為Intune App Wrapping Tool的輸入。