Vorbereiten von Android-Apps für App-Schutzrichtlinien mit dem Intune App Wrapping Tool

Verwenden Sie das Microsoft Intune App Wrapping Tool für Android, um das Verhalten Ihrer internen Android-Apps zu ändern, indem Sie die Features der App einschränken, ohne den Code der App selbst zu ändern.

Das Tool ist eine Windows-Befehlszeilenanwendung, die in PowerShell ausgeführt wird und einen Wrapper um Ihre Android-App erstellt. Nachdem die App umschlossen wurde, können Sie die Funktionalität der App ändern, indem Sie Verwaltungsrichtlinien für mobile Anwendungen in Intune konfigurieren.

Lesen Sie vor dem Ausführen des Tools Sicherheitsüberlegungen für die Ausführung des App Wrapping Tools. Um das Tool herunterzuladen, wechseln Sie zum Microsoft Intune App Wrapping Tool für Android auf GitHub.

Hinweis

Wenn Sie Probleme mit der Verwendung des Intune App Wrapping Tools mit Ihren Apps haben, senden Sie eine Unterstützungsanfrage auf GitHub.

Erfüllen der Voraussetzungen für die Verwendung des App Wrapping Tools

  • Ihre App muss aktuelle Bibliotheken verwenden.

  • Ihre App muss mit den Google Play-Anforderungen kompatibel sein.

  • Wenn Ihre App komplex ist, muss sie in das Intune App SDK für Android integriert werden.

  • Sie müssen das App Wrapping Tool auf einem Windows-Computer mit Windows 10 oder höher ausführen.

  • Ihre Eingabe-App muss ein gültiges Android-Anwendungspaket mit der Dateierweiterung .apk und folgendes sein:

    • Sie kann nicht verschlüsselt werden.
    • Es darf nicht zuvor vom Intune App Wrapping Tool umschlossen worden sein.
    • Es muss für Android 9.0 oder höher geschrieben werden.

    Hinweis

    Wenn es sich bei Ihrer Eingabe-App um ein Android-App-Paket (.aab) handelt, müssen Sie sie in ein APK konvertieren, bevor Sie das Intune App Wrapping Tool verwenden. Weitere Informationen finden Sie unter Konvertieren von Android App Bundle (AAB) in APK. Ab August 2021 können neue private Apps weiterhin als APKs im Google Play Store veröffentlicht werden.

  • Die App muss von oder für Ihr Unternehmen entwickelt werden. Sie können dieses Tool nicht für Apps verwenden, die im Google Play Store verfügbar sind. Dies schließt das Herunterladen oder Abrufen der App aus dem Google Play Store ein.

  • Um das App Wrapping Tool auszuführen, müssen Sie die neueste Version der Java-Laufzeitumgebung installieren und dann sicherstellen, dass die Java-Pfadvariable in Ihren Windows-Umgebungsvariablen auf C:\ProgramData\Oracle\Java\javapath festgelegt wurde. Weitere Hilfe finden Sie in der Java-Dokumentation.

    Hinweis

    In einigen Fällen kann die 32-Bit-Version von Java zu Arbeitsspeicherproblemen führen. Es ist eine gute Idee, die 64-Bit-Version zu installieren.

  • Android erfordert, dass alle App-Pakete (.apk) signiert sind. Informationen zur Wiederverwendung vorhandener Zertifikate und einer allgemeinen Anleitung zum Signieren von Zertifikaten finden Sie unter Wiederverwendung von Signaturzertifikaten und Umschließen von Apps. Nachdem Sie die .apk-Datei mit dem Intune App Wrapping Tool umschlossen haben, empfiehlt es sich, das von Google bereitgestellte Apksigner-Tool zu verwenden. Dadurch wird sichergestellt, dass Ihre App, sobald sie auf Endbenutzergeräten gelangt ist, ordnungsgemäß nach Android-Standards gestartet werden kann.

  • (Optional) Manchmal erreicht eine App möglicherweise das Größenlimit für Dalvik Executable (DEX) aufgrund der Intune MAM SDK-Klassen, die während des Wrappings hinzugefügt werden. DEX-Dateien sind Teil der Kompilierung einer Android-App. Das Intune App Wrapping Tool verarbeitet automatisch den DEX-Dateiüberlauf während des Wrappings für Apps mit einer MINDEST-API-Ebene von 21 oder höher (ab Version 1.0.2501.1). Für Apps mit einer MINDEST-API-Ebene von < 21 empfiehlt es sich, die API-Mindestebene mithilfe des Flags des -UseMinAPILevelForNativeMultiDex Wrappers zu erhöhen. Für Kunden, die die API-Mindestebene der App nicht erhöhen können, sind die folgenden DEX-Überlaufumgehungen verfügbar. In bestimmten Organisationen kann dies die Zusammenarbeit mit dem Benutzer erfordern, der die App kompiliert (d. h. das App-Buildteam):

    • Verwenden Sie ProGuard, um nicht verwendete Klassenverweise aus der primären DEX-Datei der App zu entfernen.
    • Für Kunden, die v3.1.0 oder höher des Android Gradle-Plug-Ins verwenden, deaktivieren Sie den D8-Dexer.

Wie oft sollte ich meine Android-Anwendung mit dem Intune App Wrapping Tool neu packen?

Die wichtigsten Szenarien, in denen Sie Ihre Anwendungen neu packen müssen, lauten wie folgt:

  • Die Anwendung selbst hat eine neue Version veröffentlicht. Die vorherige Version der App wurde umschlossen und in das Microsoft Intune Admin Center hochgeladen.

  • Das Intune App Wrapping Tool für Android hat eine neue Version veröffentlicht, die wichtige Fehlerbehebungen oder neue, spezifische Intune-Anwendungsschutzrichtlinienfeatures ermöglicht. Dies geschieht alle 6 bis 8 Wochen über das GitHub-Repository für das Microsoft Intune App Wrapping Tool für Android.

Zu den bewährten Methoden für die Neuzuordnung gehören:

Installieren des App Wrapping Tools

  1. Laden Sie aus dem GitHub-Repository die Installationsdatei InstallAWT.exe für das Intune App Wrapping Tool für Android auf einen Windows-Computer herunter. Öffnen Sie die Installationsdatei.

  2. Akzeptieren Sie den Lizenzvertrag, und schließen Sie die Installation ab.

Notieren Sie sich den Ordner, in dem Sie das Tool installiert haben. Der Standardspeicherort ist C:\Programme (x86)\Microsoft Intune Mobile Application Management\Android\App Wrapping Tool.

Ausführen des App Wrapping Tools

Wichtig

Intune veröffentlicht regelmäßig Updates für das Intune App Wrapping Tool. Überprüfen Sie regelmäßig das Intune App Wrapping Tool für Android auf Updates, und integrieren Sie sie in Ihren Releasezyklus für die Softwareentwicklung, um sicherzustellen, dass Ihre Apps die neuesten App-Schutzrichtlinie-Einstellungen unterstützen.

  1. Öffnen Sie auf dem Windows-Computer, auf dem Sie das App Wrapping Tool installiert haben, ein PowerShell-Fenster.

  2. Importieren Sie aus dem Ordner, in dem Sie das Tool installiert haben, das PowerShell-Modul "App Wrapping Tool":

    Import-Module .\IntuneAppWrappingTool.psm1
    
  3. Führen Sie das Tool mit dem Befehl invoke-AppWrappingTool aus, der über die folgende Verwendungssyntax verfügt:

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

    In der folgenden Tabelle sind die Eigenschaften des Befehls invoke-AppWrappingTool aufgeführt:

Eigenschaft Information
-InputPath<Schnur> Pfad der Android-Quell-App (.apk).
-OutputPath<Schnur> Pfad zur Ausgabe der Android-App. Wenn dies derselbe Verzeichnispfad wie InputPath ist, schlägt die Paketerstellung fehl.
<CommonParameters> (Optional) Der Befehl unterstützt gängige PowerShell-Parameter wie verbose und debug.
  • Eine Liste der allgemeinen Parameter finden Sie im Microsoft Script Center.

  • Geben Sie den Folgenden Befehl ein, um ausführliche Informationen zur Verwendung des Tools anzuzeigen:

    Help Invoke-AppWrappingTool
    

Beispiel:

Importieren Sie das PowerShell-Modul.

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

Führen Sie das App Wrapping Tool auf der nativen App-HelloWorld.apk aus.

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

Die umschlossene App und eine Protokolldatei werden generiert und im angegebenen Ausgabepfad gespeichert.

Wiederverwendung von Signaturzertifikaten und Umschließen von Apps

Android erfordert, dass alle Apps mit einem gültigen Zertifikat signiert werden müssen, um auf Android-Geräten installiert zu werden.

Umschlossene Apps können nach dem Umschließen mit Ihren vorhandenen Signaturtools signiert werden (alle Signierungsinformationen in der App vor dem Umschließen werden verworfen). Wenn möglich, sollten die Signaturinformationen, die bereits während des Buildprozesses verwendet wurden, während des Wrappings verwendet werden. In bestimmten Organisationen erfordert dies möglicherweise die Zusammenarbeit mit dem Besitzer der Keystore-Informationen (d. h. dem App-Buildteam).

Wenn das vorherige Signaturzertifikat nicht verwendet werden kann oder die App noch nicht bereitgestellt wurde, können Sie ein neues Signaturzertifikat erstellen, indem Sie die Anweisungen im Android-Entwicklerhandbuch befolgen.

Wenn die App zuvor mit einem anderen Signaturzertifikat bereitgestellt wurde, kann die App nach dem Upgrade nicht in Intune hochgeladen werden. App-Upgradeszenarien sind fehlerhaft, wenn Ihre App mit einem anderen Zertifikat signiert ist als das, mit dem die App erstellt wurde. Daher sollten alle neuen Signaturzertifikate für App-Upgrades verwaltet werden.

Sicherheitsüberlegungen beim Ausführen des App Wrapping Tools

So verhindern Sie potenzielle Spoofing-, Informationsveröffentlichungs- und Rechteerweiterungsangriffe:

  • Stellen Sie sicher, dass sich die Branchenanwendung (Input Line-of-Business) und die Ausgabeanwendung auf demselben Windows-Computer befinden, auf dem das App Wrapping Tool ausgeführt wird.

  • Importieren Sie die Ausgabeanwendung in Intune auf demselben Computer, auf dem das Tool ausgeführt wird. Weitere Informationen zum Java-Schlüsseltool finden Sie unter keytool.

  • Wenn sich die Ausgabeanwendung und das Tool in einem UNC-Pfad (Universal Naming Convention) befinden und Sie das Tool und die Eingabedateien nicht auf demselben Computer ausführen, richten Sie die Umgebung so ein, dass sie mit IPsec(Internet Protocol Security) oder SMB-Signatur (Server Message Block) sicher ist.

  • Stellen Sie sicher, dass die Anwendung aus einer vertrauenswürdigen Quelle stammt.

  • Sichern Sie das Ausgabeverzeichnis, das die umschlossene App enthält. Erwägen Sie die Verwendung eines Verzeichnisses auf Benutzerebene für die Ausgabe.

Konvertieren von Android App Bundle (AAB) in APK

Das Intune App Wrapping Tool unterstützt derzeit nur APK-Eingaben. Android-App-Bundles müssen zuerst in ein APK konvertiert werden, um sie mit dem Tool verwenden zu können.

Ein Android-App-Bundle kann mithilfe des Befehlszeilentools von Google in bundletoolein APK konvertiert werden. Die neueste Version von bundle-tool kann aus dem GitHub-Repository bundletool von Google heruntergeladen werden.

bundletool kann verwendet werden, um mit dem folgenden Befehl ein einzelnes universelles APK für die Verwendung mit dem Intune App Wrapping Tool zu erstellen:

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

Die .apks Ausgabedatei ist ein ZIP-Archiv, das eine einzelne universelle APK-Datei enthält. Entzippen Sie das Archiv, und verwenden Sie diese APK-Datei als Eingabe für das Intune App Wrapping Tool.

Siehe auch