Przygotowywanie aplikacji systemu Android do zasad ochrony aplikacji przy użyciu Intune App Wrapping Tool

Użyj Microsoft Intune App Wrapping Tool dla systemu Android, aby zmienić zachowanie wewnętrznych aplikacji systemu Android, ograniczając funkcje aplikacji bez zmiany kodu samej aplikacji.

To narzędzie jest aplikacją wiersza polecenia systemu Windows, która działa w programie PowerShell i tworzy otokę wokół aplikacji systemu Android. Po opakowaniu aplikacji możesz zmienić funkcjonalność aplikacji, konfigurując zasady zarządzania aplikacjami mobilnymi w Intune.

Przed uruchomieniem narzędzia zapoznaj się z tematem Zagadnienia dotyczące zabezpieczeń dotyczące uruchamiania App Wrapping Tool. Aby pobrać narzędzie, przejdź do Microsoft Intune App Wrapping Tool dla systemu Android w usłudze GitHub.

Uwaga

Jeśli masz problemy z używaniem Intune App Wrapping Tool z aplikacjami, prześlij wniosek o pomoc w witrynie GitHub.

Spełnienie wymagań wstępnych dotyczących korzystania z App Wrapping Tool

  • Aplikacja musi używać aktualnych bibliotek

  • Aplikacja musi być zgodna z wymaganiami sklepu Google Play

  • Jeśli aplikacja jest złożona, musi zostać zintegrowana z zestawem Intune App SDK dla systemu Android

  • Musisz uruchomić App Wrapping Tool na komputerze z systemem Windows z systemem Windows 10 lub nowszym.

  • Aplikacja wejściowa musi być prawidłowym pakietem aplikacji systemu Android z rozszerzeniem pliku .apk i:

    • Nie można go zaszyfrować.
    • Nie może być wcześniej opakowane przez Intune App Wrapping Tool.
    • Musi być napisany dla systemu Android 9.0 lub nowszego.

    Uwaga

    Jeśli twoja aplikacja wejściowa jest pakietem aplikacji systemu Android (aab), przed użyciem Intune App Wrapping Tool należy ją przekonwertować na pakiet APK. Aby uzyskać szczegółowe informacje, zobacz Konwertowanie pakietu aplikacji systemu Android (AAB) na pakiet APK. Od sierpnia 2021 r. nowe aplikacje prywatne nadal mogą być publikowane w Sklepie Google Play jako zestawy APK.

  • Aplikacja musi być opracowana przez firmę lub dla twojej firmy. Tego narzędzia nie można używać w aplikacjach dostępnych w sklepie Google Play. Obejmuje to pobieranie lub uzyskiwanie aplikacji ze Sklepu Google Play.

  • Aby uruchomić App Wrapping Tool, należy zainstalować najnowszą wersję środowiska uruchomieniowego Java, a następnie upewnić się, że zmienna ścieżki Języka Java została ustawiona na C:\ProgramData\Oracle\Java\javapath w zmiennych środowiskowych systemu Windows. Aby uzyskać więcej pomocy, zobacz dokumentację języka Java.

    Uwaga

    W niektórych przypadkach 32-bitowa wersja języka Java może powodować problemy z pamięcią. Dobrym pomysłem jest zainstalowanie wersji 64-bitowej.

  • System Android wymaga podpisania wszystkich pakietów aplikacji (.apk). Aby ponownie użyć istniejących certyfikatów i ogólnych wskazówek dotyczących certyfikatów podpisywania, zobacz Ponowne używanie certyfikatów podpisywania i opakowywanie aplikacji. Po opakowyniu pliku .apk przy użyciu Intune App Wrapping Tool zaleca się użycie narzędzia Apksigner dostarczonego przez firmę Google. Zapewni to, że po przejściu aplikacji na urządzenia użytkowników końcowych będzie ona mogła zostać prawidłowo uruchomiona zgodnie ze standardami systemu Android.

  • (Opcjonalnie) Czasami aplikacja może osiągnąć limit rozmiaru pliku wykonywalnego Dalvik (DEX) ze względu na klasy zestawu SDK Intune MAM dodawane podczas opakowywania. Pliki DEX są częścią kompilacji aplikacji systemu Android. Intune App Wrapping Tool automatycznie obsługuje przepełnienie pliku DEX podczas opakowywania aplikacji z minimalnym poziomem interfejsu API wynoszącym 21 lub wyższym (od wersji 1.0.2501.1). W przypadku aplikacji z minimalnym poziomem interfejsu API wynoszącym < 21 najlepszym rozwiązaniem byłoby zwiększenie minimalnego poziomu interfejsu API przy użyciu flagi otoki -UseMinAPILevelForNativeMultiDex . W przypadku klientów, którzy nie mogą zwiększyć minimalnego poziomu interfejsu API aplikacji, dostępne są następujące obejścia przepełnienia DEX. W niektórych organizacjach może to wymagać współpracy z osobami, które kompilują aplikację (tj. zespół ds. kompilacji aplikacji):

    • Użyj narzędzia ProGuard, aby wyeliminować nieużywane odwołania do klas z podstawowego pliku DEX aplikacji.
    • W przypadku klientów korzystających z wersji 3.1.0 lub nowszej wtyczki Android Gradle wyłącz dexer D8.

Jak często należy ponownie pakować aplikację systemu Android przy użyciu Intune App Wrapping Tool?

Główne scenariusze, w których należy ponownie tworzyć aplikacje, są następujące:

  • Sama aplikacja wydała nową wersję. Poprzednia wersja aplikacji została opakowana i przekazana do centrum administracyjnego Microsoft Intune.

  • Intune App Wrapping Tool dla systemu Android wydała nową wersję, która umożliwia kluczowych poprawek błędów lub nowych, określonych Intune funkcji zasad ochrony aplikacji. Dzieje się tak co 6–8 tygodni w repozytorium GitHub dla Microsoft Intune App Wrapping Tool dla systemu Android.

Oto kilka najlepszych rozwiązań dotyczących ponownego zapisywania:

Instalowanie App Wrapping Tool

  1. Z repozytorium GitHub pobierz plik instalacyjny InstallAWT.exe dla Intune App Wrapping Tool dla systemu Android na komputer z systemem Windows. Otwórz plik instalacyjny.

  2. Zaakceptuj umowę licencyjną, a następnie zakończ instalację.

Zanotuj folder, w którym zainstalowano narzędzie. Lokalizacja domyślna to: C:\Program Files (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool.

Uruchamianie App Wrapping Tool

Ważna

Intune regularnie publikuje aktualizacje Intune App Wrapping Tool. Regularnie sprawdzaj Intune App Wrapping Tool dla systemu Android pod kątem aktualizacji i dołączaj je do cyklu tworzenia oprogramowania, aby upewnić się, że aplikacje obsługują najnowsze ustawienia zasad ochrony aplikacji.

  1. Na komputerze z systemem Windows, na którym zainstalowano App Wrapping Tool, otwórz okno programu PowerShell.

  2. Z folderu, w którym zainstalowano narzędzie, zaimportuj moduł App Wrapping Tool programu PowerShell:

    Import-Module .\IntuneAppWrappingTool.psm1
    
  3. Uruchom narzędzie przy użyciu polecenia invoke-AppWrappingTool , które ma następującą składnię użycia:

    Invoke-AppWrappingTool [-InputPath] <String> [-OutputPath] <String> [<CommonParameters>]
    

    W poniższej tabeli szczegółowo opisano właściwości polecenia invoke-AppWrappingTool :

Właściwość Informacji
-InputPath<Ciąg> Ścieżka źródłowej aplikacji systemu Android (.apk).
-Outputpath<Ciąg> Ścieżka do wyjściowej aplikacji systemu Android. Jeśli jest to ta sama ścieżka katalogu co inputpath, pakowanie zakończy się niepowodzeniem.
<CommonParameters> (Opcjonalnie) Polecenie obsługuje typowe parametry programu PowerShell, takie jak pełne i debugowanie.
  • Aby uzyskać listę typowych parametrów, zobacz Centrum skryptów firmy Microsoft.

  • Aby wyświetlić szczegółowe informacje o użyciu narzędzia, wprowadź polecenie:

    Help Invoke-AppWrappingTool
    

Przykład:

Zaimportuj moduł programu PowerShell.

Import-Module "C:\Program Files (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool\IntuneAppWrappingTool.psm1"

Uruchom App Wrapping Tool w HelloWorld.apk aplikacji natywnej.

invoke-AppWrappingTool -InputPath .\app\HelloWorld.apk -OutputPath .\app_wrapped\HelloWorld_wrapped.apk -Verbose

Opakowana aplikacja i plik dziennika są generowane i zapisywane w określonej ścieżce wyjściowej.

Ponowne używanie certyfikatów podpisywania i opakowywanie aplikacji

System Android wymaga, aby wszystkie aplikacje były podpisane prawidłowym certyfikatem, aby można je było zainstalować na urządzeniach z systemem Android.

Opakowane aplikacje można podpisywać po zawijaniu przy użyciu istniejących narzędzi do podpisywania (wszelkie informacje dotyczące podpisywania w aplikacji przed odrzuceniem zawijania). Jeśli to możliwe, informacje dotyczące podpisywania, które były już używane podczas procesu kompilacji, powinny być używane podczas opakowywania. W niektórych organizacjach może to wymagać współpracy z osobami, które są właścicielami informacji magazynu kluczy (tj. zespołem kompilacji aplikacji).

Jeśli nie można użyć poprzedniego certyfikatu podpisywania lub aplikacja nie została wcześniej wdrożona, możesz utworzyć nowy certyfikat podpisywania, postępując zgodnie z instrukcjami w Przewodniku dla deweloperów systemu Android.

Jeśli aplikacja została wcześniej wdrożona z innym certyfikatem podpisywania, nie można przekazać aplikacji do Intune po uaktualnieniu. Scenariusze uaktualniania aplikacji zostaną przerwane, jeśli aplikacja zostanie podpisana przy użyciu innego certyfikatu niż ten, za pomocą który jest kompilowany przez aplikację. W związku z tym wszelkie nowe certyfikaty podpisywania powinny być utrzymywane na potrzeby uaktualnień aplikacji.

Zagadnienia dotyczące zabezpieczeń związane z uruchamianiem App Wrapping Tool

Aby zapobiec potencjalnym fałszowaniu, ujawnieniu informacji i atakom na podniesienie uprawnień:

  • Upewnij się, że wejściowa aplikacja biznesowa (LOB) i aplikacja wyjściowa znajdują się na tym samym komputerze z systemem Windows, na którym działa App Wrapping Tool.

  • Zaimportuj aplikację wyjściową do Intune na tym samym komputerze, na którym działa narzędzie. Zobacz keytool, aby uzyskać więcej informacji na temat narzędzia java keytool.

  • Jeśli aplikacja wyjściowa i narzędzie znajdują się w ścieżce uniwersalnej konwencji nazewnictwa (UNC), a narzędzie i pliki wejściowe nie są uruchamiane na tym samym komputerze, skonfiguruj środowisko tak, aby było bezpieczne przy użyciu protokołu Internet Protocol Security (IPsec) lub podpisywania bloku komunikatów serwera (SMB).

  • Upewnij się, że aplikacja pochodzi z zaufanego źródła.

  • Zabezpiecz katalog wyjściowy z opakowaną aplikacją. Rozważ użycie katalogu na poziomie użytkownika dla danych wyjściowych.

Konwertowanie pakietu aplikacji systemu Android (AAB) na pakiet APK

Obecnie Intune App Wrapping Tool obsługuje tylko dane wejściowe APK. Pakiety aplikacji systemu Android należy najpierw przekonwertować na pakiet APK do użycia z narzędziem.

Pakiet aplikacji systemu Android można przekonwertować na pakiet APK przy użyciu narzędzia wiersza polecenia firmy Google . bundletool Najnowszą bundle-tool wersję programu można pobrać z repozytorium GitHub bundletool firmy Google.

bundletoolmożna użyć do utworzenia pojedynczego uniwersalnego zestawu APK do użycia z Intune App Wrapping Tool przy użyciu następującego polecenia:

bundletool build-apks --bundle=input.aab --mode=universal --output=input.apks

Plik wyjściowy .apks jest archiwum ZIP zawierającym jeden uniwersalny plik APK. Rozpakuj archiwum i użyj tego pliku APK jako danych wejściowych do Intune App Wrapping Tool.

Zobacz też