Vorbereiten von Android-Apps für App-Schutzrichtlinien mit dem Intune App Wrapping Tool
Verwenden Sie die 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 Die Sicherheitsüberlegungen für die Ausführung des App Wrapping Tool. 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 Tool mit Ihren Apps haben, senden Sie eine Anfrage um Unterstützung auf GitHub.
Erfüllen der Voraussetzungen für die Verwendung des App Wrapping Tool
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 die App Wrapping Tool auf einem Windows-Computer ausführen, auf dem Windows 10 oder höher ausgeführt wird.
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 die 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 die 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 aufgrund der Intune MAM SDK-Klassen, die während des Wrappings hinzugefügt werden, möglicherweise das Größenlimit von Dalvik Executable (DEX). DEX-Dateien sind Teil der Kompilierung einer Android-App. Die Intune App Wrapping Tool automatisch den DEX-Dateiüberlauf während des Wrappings für Apps mit einer API-Mindeststufe von 21 oder höher (ab Version 1.0.2501.1) behandelt. 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 erneut packen?
Die Standard 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.
Die Intune App Wrapping Tool für Android hat eine neue Version veröffentlicht, die wichtige Fehlerbehebungen oder neue, spezifische Intune Features von Anwendungsschutzrichtlinien ermöglicht. Dies geschieht alle 6 bis 8 Wochen über das GitHub-Repository für die Microsoft Intune App Wrapping Tool für Android.
Zu den bewährten Methoden für die Neuzuordnung gehören:
- Verwalten von Signaturzertifikaten, die während des Buildprozesses verwendet werden, finden Sie unter Wiederverwendung von Signaturzertifikaten und Umschließen von Apps.
Installieren des App Wrapping Tool
Laden Sie aus dem GitHub-Repository die Installationsdatei InstallAWT.exe für die Intune App Wrapping Tool für Android auf einen Windows-Computer herunter. Öffnen Sie die Installationsdatei.
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 Anwendungsverwaltung\Android\App Wrapping Tool.
Ausführen des App Wrapping Tool
Wichtig
Intune veröffentlicht regelmäßig Updates für die Intune App Wrapping Tool. Überprüfen Sie regelmäßig die 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.
Öffnen Sie auf dem Windows-Computer, auf dem Sie die App Wrapping Tool installiert haben, ein PowerShell-Fenster.
Importieren Sie aus dem Ordner, in dem Sie das Tool installiert haben, das App Wrapping Tool PowerShell-Modul:
Import-Module .\IntuneAppWrappingTool.psm1
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 die 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 bei der Ausführung des App Wrapping Tool
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 die 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
Die 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 bundletool
ein APK konvertiert werden. Die neueste Version von bundle-tool
kann aus dem GitHub-Repository bundletool von Google heruntergeladen werden.
bundletool
kann verwendet werden, um ein einzelnes universelles APK für die Verwendung mit dem Intune App Wrapping Tool mit dem folgenden Befehl 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 die Intune App Wrapping Tool.