Teilen über


Intune App SDK für Android – Erste Schritte mit MAM

Mit dem Microsoft Intune App SDK für Android können Sie Intune-App-Schutzrichtlinien (auch als APP - oder MAM-Richtlinien bezeichnet) in Ihre native Java/Kotlin Android-App integrieren. Eine von Intune verwaltete Anwendung ist eine Anwendung, die in das Intune App SDK integriert ist. Intune-Administratoren können App-Schutzrichtlinien ganz einfach für Ihre von Intune verwaltete App bereitstellen, wenn Intune die App aktiv verwaltet.

Hinweis

Dieser Leitfaden ist in mehrere unterschiedliche Phasen unterteilt. Sehen Sie sich zunächst Phase 1: Planen der Integration an.

Phase 3: Erste Schritte mit MAM

Etappenziele

  • Laden Sie das Intune App SDK herunter.
  • Erfahren Sie, welche Dateien im Intune App SDK enthalten sind.
  • Verweisen Sie in Ihrer Anwendung auf das Intune App SDK.
  • Konfigurieren Sie das Intune App Gradle Build-Plug-In, ODER verwenden Sie das Befehlszeilenbuildtool.
  • Vergewissern Sie sich, dass das Intune App SDK ordnungsgemäß in Ihrem Build enthalten ist.

Hintergrund

Nachdem Ihre Anwendung MSAL erfolgreich integriert hat, ist es an der Zeit, das Intune App SDK herunterzuladen und in den Buildprozess Ihrer Anwendung einzubeziehen.

Ein großer Teil der Integration des Intune App SDK ersetzt Android-Standardklassen und Methodenaufrufe durch Intune-Versionen dieser Klassen und Methodenaufrufe. Das SDK enthält Buildtools, mit denen die meisten dieser Ersetzungen automatisch für Sie erstellt werden. Weitere Informationen zu dieser Ersetzungslogik finden Sie im Abschnitt Ersetzungen von Klassen und Methoden im Anhang.

Herunterladen des Intune App SDK

Informationen zum Herunterladen des SDK finden Sie unter Herunterladen der SDK-Dateien.

Was ist im SDK enthalten?

Das Intune App SDK besteht aus den folgenden Dateien:

  • Microsoft.Intune.MAM.SDK.aar: Die SDK-Komponenten, mit Ausnahme der JAR-Dateien der Supportbibliothek.
  • com.microsoft.intune.mam.build.jar: Ein Gradle-Plug-In, das die Integration des SDK unterstützt.
  • CHANGELOG.md: Stellt einen Datensatz der Änderungen bereit, die in jeder SDK-Version vorgenommen wurden.
  • THIRDPARTYNOTICES.TXT: Ein Zuordnungshinweis, der Drittanbieter- und/oder OSS-Code bestätigt, der in Ihre App kompiliert wird.
  • Microsoft.Intune.MAM.SDK.DownlevelStubs.aar: Dieser AAR enthält Stubs für Android-Systemklassen, die nur auf neueren Geräten vorhanden sind, aber von Methoden in MAMActivity referenziert werden. Neuere Geräte ignorieren diese Stubklassen. Diese AAR ist nur erforderlich, wenn Ihre App reflexionsbasierte Klassen ausführt, die von MAMActivityabgeleitet werden, und die meisten Apps müssen sie nicht einschließen. Der AAR enthält ProGuard-Regeln, um alle zugehörigen Klassen auszuschließen.

Verweisen auf Intune-App-Bibliotheken

Das Intune App SDK ist eine Android-Standardbibliothek ohne externe Abhängigkeiten. Microsoft.Intune.MAM.SDK.aar enthält sowohl die Schnittstellen, die zum Aktivieren von App-Schutzrichtlinien erforderlich sind, als auch den Code, der für die Zusammenarbeit mit der Microsoft Intune-Unternehmensportal-App erforderlich ist.

Android Studio

Microsoft.Intune.MAM.SDK.aar muss als Android-Bibliotheksverweis angegeben werden. Informationen zum Hinzufügen dieser Abhängigkeit zu Ihrem Build finden Sie unter Hinzufügen Ihrer AAR- oder JAR-Datei als Abhängigkeit aus der Android-Dokumentation.

Visual Studio

Das NuGet-Paket Intune App SDK für .NET MAUI – Android muss als Abhängigkeit hinzugefügt werden.

Befolgen Sie den Vorgang zum Installieren und Verwalten von Paketen in Visual Studio mithilfe des NuGet-Paket-Managers.

Microsoft.Intune.MAM.SDK.aar ist gebunden, um C#-Verweise zu erstellen, die auf den Microsoft.Intune.Mam Namespace begrenzt sind.

ProGuard

Ihre Anwendung verwendet möglicherweise bereits ProGuard (oder einen anderen Verkleinerungs-/Verschleierungsmechanismus) als Buildschritt. Das Intune App SDK verfügt über ProGuard-Konfigurationsregeln, die in diesem Buildschritt enthalten sein müssen. Einschließlich von . AAR in Ihrem Build integriert, wie oben beschrieben, die Konfiguration des SDK automatisch in den ProGuard-Schritt, sodass die erforderlichen Klassendateien beibehalten werden. Wenn Sie ordnungsgemäß eingeschlossen haben . AAR, es ist keine andere Änderung erforderlich.

Die Microsoft Authentication Library (MSAL) wird mit einer eigenen ProGuard-Konfiguration ausgeliefert. Wenn Ihre App MSAL integriert, finden Sie weitere Informationen in der MSAL-Dokumentation .

Buildtools

Das SDK bietet Buildtools (ein Plug-In für Gradle-Builds, Ziele für .NET-Builds und ein Befehlszeilentool), die MAM-Ersetzungen automatisch ausführen. Diese Tools transformieren die von der Java-Kompilierung generierten Klassendateien. sie ändern nicht den ursprünglichen Quellcode. Sie müssen entweder das Gradle-Plug-In, das .NET-NuGet-Paket oder das Befehlszeilentool verwenden.

Die Buildtools allein reichen nicht aus, um Ihre Anwendung vollständig zu integrieren. Die Tools führen nur Klassen- und Methodenersetzungen durch . Sie führen keine komplexeren SDK-Integrationen wie Multi-Identity, Registrieren für App-Schutzrichtlinie, Richtlinie zum Einschränken der Datenübertragung zwischen Apps und Geräten oder Cloudspeicherorten oderMSAL-Konfiguration durch, die abgeschlossen werden muss, bevor Ihre App vollständig Intune aktiviert ist. Lesen Sie den Rest dieser Dokumentation sorgfältig auf Integrationspunkte, die für Ihre App relevant sind.

Auswirkungen auf das Debuggen

Die Buildtools führen nach der Kompilierung Ersetzungen durch, wodurch einige Methodennamen geändert werden. Daher kann das Debuggen von Haltepunkten, die für Methodennamen festgelegt wurden, beeinträchtigt werden und nicht wie erwartet angehalten werden. Zeilennummernhaltepunkte sind nicht betroffen.

MAM im Stapel

Da die Integration des Intune App SDK stark von Klassen- und Methodenersetzungen abhängt, werden Sie in Ihren Stapelablaufverfolgungen sehen mam . Wenn Ihre App nicht über ein Konto verfügt, für das App-Schutzrichtlinien gelten, liegt dieser gesamte MAM-Code inaktiv: MAMActivity funktioniert identisch Activitymit , onMAMCreate funktioniert identisch mit onCreateusw. Wenn sie in einem Stapel angezeigt mam werden, überprüfen Sie zunächst:

  • Ist das Konto mit App-Schutzrichtlinien ausgerichtet?
  • Ist das Intune-Unternehmensportal installiert?

Sofern die Antwort auf beide nicht "Ja" lautet, fungiert der MAM-Code als einfaches Passthrough.

Welches Tool benötige ich?

Wenn Sie Ihre App mit Gradle erstellen, lesen Sie Integrieren in das Gradle-Build-Plug-In.

Wenn Sie Ihre App mit .NET MAUI erstellen, lesen Sie Integrieren in die .NET MAUI-Ziele.

Wenn Sie Ihre App mit keinem der oben genannten Elemente erstellen, finden Sie weitere Informationen unter Integrieren in das Befehlszeilentool.

Integration in das Gradle Build-Plug-In

Das Intune App SDK-Plug-In wird als Teil des SDK als GradlePlugin/com.microsoft.intune.mam.build.jar verteilt.

Damit das Plug-In von Gradle erkannt wird, muss es dem buildscript Klassenpfad hinzugefügt werden. Das Plug-In hängt von Javassist ab, das ebenfalls hinzugefügt werden muss. Weitere Informationen zur Javassist-Abhängigkeit finden Sie unter Abhängigkeiten.

Um diese dem Klassenpfad hinzuzufügen, fügen Sie Folgendes zu Ihrem Stamm hinzu build.gradle:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath "org.javassist:javassist:3.29.2-GA"
        classpath files("$PATH_TO_MAM_SDK/GradlePlugin/com.microsoft.intune.mam.build.jar")
    }
}

Um das Plug-In anzuwenden, fügen Sie der build.gradle Datei für Ihre App und dynamische Featuremodule Folgendes hinzu:

apply plugin: 'com.microsoft.intune.mam'

Standardmäßig arbeitet das Plug-In mit project Abhängigkeiten und externen Bibliotheken. Die Testkompilierung ist nicht betroffen.

Hinweis

Ab 8.0 Intune App SDK ist es nicht mehr möglich, Bibliotheken selektiv zu verarbeiten. Alle Bibliotheken werden verarbeitet.

Abhängigkeiten

Hinweis

Sie müssen Version 3.6.1 oder höher des Android Gradle-Plug-Ins und Version 5.6.4 oder höher von Gradle verwenden.

Das Gradle-Plug-In verfügt über eine Abhängigkeit von Javassist, die für die Abhängigkeitsauflösung von Gradle verfügbar gemacht werden muss. Javassist wird ausschließlich zur Buildzeit verwendet, wenn das Plug-In ausgeführt wird, und Ihrer App wird kein Javassist-Code hinzugefügt.

Hinweis

Javassist-Versionen sind möglicherweise nicht abwärtskompatibel. Im Allgemeinen sollten Sie genau die Version verwenden, die vom Intune App SDK erwartet wird:

  • Intune App SDK ≥ 10.0.0 erfordert Javassist 3.29.2-GA
  • Intune App SDK ≥ 7.0.0 erfordert Javassist 3.27.0-GA
  • Intune App SDK < 7.0.0 erfordert Javassist 3.22.0-GA

Darüber hinaus müssen Sie bei der Verwendung von MAM SDK 8.0.0 und höher sicherstellen, dass Folgendes in Ihrer Gradle-Konfiguration festgelegt ist:

compileOptions {
  sourceCompatibility JavaVersion.VERSION_1_8
  targetCompatibility JavaVersion.VERSION_1_8
}

Ausschlüsse

Möglicherweise werden zusätzliche Konfigurationen bereitgestellt, um bestimmte Komponenten in Ihrer App von Neuschreibungen auszuschließen. Ausschlüsse sind hauptsächlich für Komponenten nützlich, die für MAM nicht relevant sind (d. h. keine Unternehmensdaten verarbeiten oder anzeigen).

Ausschlüsse können für unterschiedliche Bereiche konfiguriert werden:

  • excludeProjects ermöglicht das Ausschließen einer Liste von Gradle-Projekten. Diese Ausschlüsse sind nützlich für Projekte, die keine Schnittstellen zu Android-Bibliotheken oder System-APIs haben und/oder keine Unternehmensdaten verarbeiten. Beispielsweise kann ein Projekt, das ausschließlich nativen Code zum Ausführen von Netzwerkvorgängen auf niedriger Ebene enthält, ein guter Kandidat sein. Wenn ein Projekt im Großen und Ganzen mit Android-Bibliotheken oder System-APIs zusammenarbeitet, sollten diese Ausschlüsse vermieden werden.
  • excludeClasses ermöglicht das Ausschließen einer Liste von Klassen. Diese Ausschlüsse sind nützlich für Klassen, die keine Unternehmensdaten verarbeiten oder präsentieren. Beispielsweise sind Begrüßungsbildschirme und Onboardings Activitygute Kandidaten. Beachten Sie, dass eine Klasse nicht ausgeschlossen werden kann, wenn eine ihrer Superklassen verarbeitet wird.
  • excludeVariants ermöglicht das Ausschließen von Projektvarianten. Diese Ausschlüsse können sich entweder auf einen vollständigen Variantennamen oder eine einzelne Variante beziehen. Sie sind besonders nützlich, wenn Sie eine Nicht-MAM-Variante Ihrer App erstellen möchten. Wenn Ihre App beispielsweise über Buildtypen debug und release mit den Varianten {noMAM, MAM} und {mock, } verfügt, productionkönnen Sie Folgendes angeben:
    • noMAM , um alle Varianten mit der Variante noMAM auszuschließen, oder
    • noMAMMockDebug , um nur diese genaue Variante auszuschließen.

Achtung

Ausschlüsse sollten nicht auf die leichte Schulter genommen werden. Eine falsche Anwendung von Ausschlüssen kann zu schwerwiegenden Datenlecks in Ihrer App führen. Überprüfen Sie immer die Auswirkungen eines von Ihnen angewendeten Ausschlusses.

Beispiel für partielle build.gradle mit Ausschlüssen

apply plugin: 'com.microsoft.intune.mam'

dependencies {
    implementation project(':product:FooLib')
    implementation project(':product:foo-project')
    implementation "com.microsoft.bar:baz:1.0.0"

    // Include the MAM SDK
    implementation files("$PATH_TO_MAM_SDK/Microsoft.Intune.MAM.SDK.aar")
}
intunemam {
    excludeProjects = [':product:FooLib']
    excludeClasses = ['com.contoso.SplashActivity']
    excludeVariants = ['noMAM']
}

Dies hätte folgende Auswirkungen:

  • :product:FooLib wird nicht neu geschrieben, da es in enthalten ist excludeProjects
  • :product:foo-project wird umgeschrieben, mit Ausnahme com.contoso.SplashActivityvon , das übersprungen wird, da es sich in befindet excludeClasses
  • com.microsoft.bar:baz.1.0.0 wird neu geschrieben, da alle externen Bibliotheken zur Verarbeitung eingeschlossen werden.
  • Varianten mit der noMAM Variante werden nicht neu geschrieben.

Reporting

Das Build-Plug-In kann einen HTML-Bericht der vorgenommenen Änderungen generieren. Um die Generierung dieses Berichts anzufordern, geben Sie im intunemam Konfigurationsblock anreport = true. Wenn er generiert wird, wird der Bericht im Buildverzeichnis geschrieben outputs/logs .

intunemam {
    report = true
}

Verifizierung

Das Build-Plug-In kann eine zusätzliche Überprüfung ausführen, um nach möglichen Fehlern in Verarbeitungsklassen zu suchen. Diese Überprüfungen helfen beim Schutz vor potenziellen durch Plug-Ins verursachten Laufzeitfehlern.

Um die Überprüfung in Ihrem Build anzufordern, geben Sie im intunemam Konfigurationsblock anverify = true. Dies kann mehrere Sekunden zur Zeit hinzufügen, die für die Aufgabe des Plug-Ins benötigt wird.

intunemam {
    verify = true
}

Im Allgemeinen stellt ein Überprüfungsfehler einen Fehler im Build-Plug-In dar. Um Hilfe bei einem Fehler zu erhalten, eskalieren Sie das Problem mit dem Microsoft-Support. Wenn Sie keinen Microsoft-Supportvertrag haben, öffnen Sie ein GitHub-Problem.

Inkrementelle Builds

Um die Unterstützung für inkrementelles Erstellen zu aktivieren, geben Sie im intunemam Konfigurationsblock anincremental = true. Dieses Feature erhöht die Buildleistung, indem nur die geänderten Eingabedateien verarbeitet werden. Die Standardkonfiguration für incremental ist false.

intunemam {
    incremental = true
}

Konfiguration des dynamischen Featuremoduls

Dynamische Featuremodule werden getrennt vom App-Projekt erstellt. Daher müssen dynamische Featuremodule auch das Gradle-Build-Plug-In anwenden.

Aufgrund technischer Einschränkungen bei den APIs, die vom Gradle-Plug-In verwendet werden, müssen App-Klassen beim Transformieren dynamischer Featuremodulklassen erneut verarbeitet werden. Um sicherzustellen, dass dies möglich ist, sollten alle Featuremodule mit den gleichen Einstellungen wie die App konfiguriert werden, für die sie konzipiert sind.

Wenn eine App beispielsweise eine Klasse ausschließt, sollte das dynamische Featuremodul auch diese Klasse ausschließen.

Integration in die .NET MAUI-Ziele

Die Ziele des Intune App SDK werden als Teil des SDK als Microsoft.Intune.Maui.Essentials.android.targets verteilt.

Die Ziele werden zur Kompilierzeit automatisch in Ihre Anwendung importiert, sobald das NuGet-Paket Intune App SDK für .NET MAUI – Android hinzugefügt wurde.

Integration in das Befehlszeilen-Buildtool

Das Befehlszeilenbuildtool ist im BuildTool Ordner des SDK-Drops verfügbar. Es erfüllt die gleiche Funktion wie die oben beschriebenen Gradle-Plug-In-/.NET-Ziele, kann aber in benutzerdefinierte Buildsysteme integriert werden. Da es generischer ist, ist es komplexer, es aufzurufen, daher sollten nach Möglichkeit das Gradle-Plug-In bzw. .NET-Ziel verwendet werden.

Verwenden des Command-Line Tools

Das Befehlszeilentool kann mithilfe der bereitgestellten Hilfsskripts im BuildTool\bin Verzeichnis aufgerufen werden.

Das Tool erwartet die folgenden Parameter.

Parameter Erforderlich Beschreibung
--input Ja Eine durch Semikolons getrennte Liste von JAR-Dateien und Verzeichnissen der zu ändernden Klassendateien. Dies sollte alle JAR-Dateien/Verzeichnisse umfassen, die Sie neu schreiben möchten.
--output Ja Eine durch Semikolons getrennte Liste von JAR-Dateien und Verzeichnissen, in der die geänderten Klassen gespeichert werden sollen. Pro Eingabeeintrag sollte ein Ausgabeeintrag vorhanden sein, der in der richtigen Reihenfolge aufgeführt werden sollte.
--classpath Ja Der Buildklassenpfad. Dies kann sowohl JAR-Dateien als auch Klassenverzeichnisse enthalten.
--processed Nein Eine durch Semikolons getrennte Liste von JAR-Dateien und Verzeichnissen, die Klassen enthalten, die bereits von einem vorherigen Aufruf des Buildtools verarbeitet wurden.
--excludeClasses Nein Eine durch Semikolons getrennte Liste, die die Namen der Klassen enthält, die vom Umschreiben ausgeschlossen werden sollen.
--report Nein Verzeichnis, in das ein HTML-Bericht über geänderte Klassen geschrieben werden soll. Wenn nicht angegeben, wird kein Bericht geschrieben.

Die optionale --processed Option wird verwendet, um inkrementelle Builds zu aktivieren. Die hier aufgeführten Dateien/Verzeichnisse sollten mit den Eingabe- und Klassenpfadlisten getrennt sein.

Tipp

Auf Unix-ähnlichen Systemen ist semikolon ein Befehlstrennzeichen. Um zu vermeiden, dass die Shell Befehle aufteilt, stellen Sie sicher, dass sie jedes Semikolon mit "" versehen oder den vollständigen Parameter in Anführungszeichen umschließen.

Beispiel für Command-Line Toolaufruf

> BuildTool\bin\BuildTool.bat --input build\product-foo-project;libs\bar.jar --output mam-build\product-foo-project;mam-build\libs\bar.jar --classpath build\zap.jar;libs\Microsoft.Intune.MAM.SDK\classes.jar;%ANDROID_SDK_ROOT%\platforms\android-27\android.jar --excludeClasses com.contoso.SplashActivity

Dies hätte folgende Auswirkungen:

  • Das product-foo-project Verzeichnis wird in umgeschrieben. mam-build\product-foo-project
  • bar.jar wird in umgeschrieben. mam-build\libs\bar.jar
  • zap.jar wird nicht neu geschrieben, da es nur in aufgeführt ist --classpath
  • Die com.contoso.SplashActivity -Klasse wird nicht neu geschrieben, auch wenn sie sich in befindet --input

Warnung

Aar-Dateien werden vom Buildtool derzeit nicht unterstützt. Wenn Ihr Buildsystem beim Umgang mit aar-Dateien noch nicht extrahiert classes.jar wird, müssen Sie dies tun, bevor Sie das Buildtool aufrufen.

Festlegen von MAMApplication

Wenn Ihre App eine Unterklasse von android.app.Applicationerstellt, transformiert das Build-Plug-In bzw. das Befehlszeilentool Ihre Anwendungsklasse.

Wenn Ihre App keine Unterklasse android.app.Applicationaufweist, müssen Sie als "android:name" Attribut im Tag Ihres AndroidManifest.xml <application> festlegen"com.microsoft.intune.mam.client.app.MAMApplication".

  • Verwenden Sie die neuesten Android SDK-Buildtools.
  • Entfernen Sie alle unnötigen und nicht verwendeten Bibliotheken (z. B. android.support.v4).

Nach dem Ausführen automatischer Ersetzungen behält das Intune App SDK weiterhin den von der Android-API bereitgestellten Vertrag bei. Fehlerbedingungen können jedoch aufgrund der Richtlinienerzwingung häufiger ausgelöst werden. Diese bewährten Android-Methoden verringern die Wahrscheinlichkeit eines Fehlers:

  • Android SDK-Funktionen, die zurückgeben null können, haben jetzt eine höhere Wahrscheinlichkeit, dass zurückgegeben wird null. Stellen Sie sicher, dass null überprüfungen diese Funktionsaufrufe schützen.
  • Features, die überprüft werden können, z clipboardManager.getPrimaryClipDescription(). B. , müssen über ihre MAM-Ersetzungs-APIs wie MAMClipboard.getPrimaryClipDescription(clipboardManager)überprüft werden.
  • Alle abgeleiteten Funktionen müssen ihre Superklassenversionen aufrufen.
  • Vermeiden Sie die Verwendung einer API auf mehrdeutige Weise. Wenn Sie z. B. verwenden Activity.startActivityForResult , ohne zu überprüfen, führt dies requestCode zu einem seltsamen Verhalten.

Dienste

Die Richtlinienerzwingung kann sich auf Android-Dienstinteraktionen auswirken. Methoden, die eine gebundene Dienstverbindung wie Context.bindService herstellen, können aufgrund der zugrunde liegenden Richtlinienerzwingung in Service.onBind fehlschlagen und zu oder ServiceConnection.onServiceDisconnectedführenServiceConnection.onNullBinding. Die Interaktion mit einem eingerichteten gebundenen Dienst kann aufgrund der Richtlinienerzwingung in Binder.onTransactauslösenSecurityException.

Clients gebundener Dienste wird dringend empfohlen, nach Ausnahmen zu suchen, die vom Dienst ausgelöst werden, anstatt Ausnahmen an den Rest der Clientanwendung weitergeben zu lassen.

Exitkriterien

Nachdem Sie entweder das Build-Plug-In konfiguriert oder das Befehlszeilentool in Ihren Buildprozess integriert haben, überprüfen Sie, ob es erfolgreich ausgeführt wird:

  • Stellen Sie sicher, dass Ihr Build erfolgreich kompiliert und erstellt wird.
  • Konfigurieren Sie das report Flag, öffnen Sie dann das Berichtsdokument, und vergewissern Sie sich, dass Klassen- und Methodenersetzungen vorgenommen werden:
    • Wenn Sie das Plug-In verwenden, führen Sie die Schritte unter Berichterstellung aus.
    • Wenn Sie das Befehlszeilentool verwenden, fügen Sie das Flag ein --report .
  • Wenn Sie das Plug-In verwenden, konfigurieren Sie das verify Flag, und stellen Sie sicher, dass es keine Fehler erzeugt. Weitere Informationen finden Sie unter Überprüfung.
  • Überprüfen Sie alle Ausschlüsse (excludeProjects, excludeClassesund excludeVariants) in build.gradle. Vergewissern Sie sich, dass jeder Ausschluss erforderlich ist und nicht mit geschützten Daten zu tun hat. In der Vergangenheit sind viele Datenleckfehler aufgrund von zu aggressiven Ausschlüssen aufgetreten.
  • Wenn das Intune-Unternehmensportal nicht installiert ist, starten Sie Ihre kompilierte App, melden Sie sich mit einem Microsoft Entra-Benutzer an, der nicht für die App-Schutzrichtlinie vorgesehen ist, und vergewissern Sie sich, dass die App wie erwartet funktioniert.
    • Melden Sie sich ab, und wiederholen Sie diesen Test , wenn das Intune-Unternehmensportal installiert ist.

Häufig gestellte Fragen

Meine App hat das SDK zuvor ohne das Build-Plug-In integriert. wie kann ich das Build-Plug-In verwenden?

Ältere Versionen des Intune App SDK boten keine automatisierte Möglichkeit, Klassen- und Methodenersetzungen durchzuführen, und Entwickler mussten diese Ersetzungen manuell im Quellcode durchführen. Wenn Ihre App zuvor auf diese Weise integriert wurde, ist es sicher, das Build-Plug-In (oder das Befehlszeilen-Buildtool) ohne Änderungen am Quellcode anzuwenden. Ihr Projekt muss das MAM SDK weiterhin als Abhängigkeit auflisten.

Nächste Schritte

Nachdem Sie alle Exitkriterien erfüllt haben, fahren Sie mit Phase 4: MAM Integration Essentials fort.