Konfigurieren Sie ein Projekt für die Verwendung der Erweiterung für die Android-Spieleentwicklung.
Die Android-Erweiterung für die Spieleentwicklung ruft MSBuild auf, um C/C++ Quellcode in gemeinsam genutzte
Bibliotheken (.so
) und statische Bibliotheken (.a
). Im Rahmen des Build-Prozesses
ruft Gradle auf, um Java- und Kotlin-Quellcode zu kompilieren,
Verpacken Sie Ihre Assets und generieren Sie eine APK-Datei für die Bereitstellung. Bei der Konfiguration Ihrer
Projekt erstellen, müssen Sie sicherstellen, dass MSBuild über die für die Erstellung
der Android-Plattform.
C/C++ mit MSBuild erstellen
Ein typisches Android-Projekt wird mit Gradle erstellt, wobei der native Code im wird von einem Gradle-Pass erstellt, der entweder CMake oder ndk-build. Mit der Android Game Development Extension for Visual Studio gedreht wurde, wird der Erstellungsprozess invertiert. MSBuild ist der Ausgangspunkt des Build-Prozesses. Der gesamte C/C++-Quellcode wird zuerst von MSBuild für die neue Version erstellt. Android-Plattformen, die als Teil der Erweiterung auf Ihrem System installiert wurden (für Beispiel: „Android-x86_64“). MSBuild ruft dann Gradle auf, um die gemeinsam genutzten Dateien zu verpacken. Bibliotheksdateien, die deine C/C++-Logik in einem APK enthalten.
Sie sollten zuerst die vorhandene Build-Logik Ihres Projekts in CMake oder ndk-build in MSBuild erstellen. Legen Sie die folgenden Zielplattformen fest:
- Android x86
- Android-X86_64
- Android Armeabi-V7a
- Android-Arm64-v8a
Diese Plattformen werden alle von der Android Game Development Extension zur Verfügung gestellt.
Android-Plattform hinzufügen
Das Teekannenprojekt umfasst zwar Android-Plattformen, Einem vorhandenen Projekt eine Android-Plattform hinzufügen Führen Sie zum Hinzufügen einer neuen Plattform die Folgendes in Visual Studio:
- Wählen Sie Erstellen > Konfigurationsmanager.
- Wählen Sie unter Aktive Lösungsplattform die Option <Neu> aus.
Geben Sie für die neue Plattform einen der folgenden Werte ein:
- Android-Armeabi-V7a
- Android-Arm64-v8a
- Android X86
- Android-x86_64
Wählen Sie im Feld Einstellungen kopieren von ein anderes vorhandenes Android-Gerät aus. Plattform oder <Leer>, wenn Sie noch keine Android-Plattform haben. Achten Sie darauf, dass die Option Neue Projektplattformen erstellen aktiviert ist.
Android-APK-Element hinzufügen
Wählen Sie Hinzufügen > Neues Element > Visuelle C++ > Android > Android-APK und klicken Sie auf Hinzufügen: Konfigurieren Sie die Android-App im folgenden Dialogfeld.
- App-Name: Der visuell lesbare Name Ihrer Android-App.
- Anwendungs-ID: die eindeutige Kennzeichnung für Ihre Android-App.
- Speicherort des Projektmappen-Explorers: Speicherort des virtuellen Ordners mit die hinzugefügten Dateien zur Unterstützung der Android-Paketerstellung. Standardmäßig werden diese Dateien auch die sich im Projekt in einem Ordner mit demselben Namen befindet. Sie können die Legen Sie unterstützende Dateien an einem benutzerdefinierten Speicherort ab. und die Angabe eines benutzerdefinierten Standorts. Der virtuelle Ordner ist weiterhin unter dem aktuellen Projekt im Solution Explorer.
MSBuild anweisen, Gradle aufzurufen, um ein APK zu erstellen
MSBuild kann Gradle nur aufrufen, wenn der Speicherort des Gradle-Projekts bekannt ist. Legen Sie diesen Speicherort mithilfe der Eigenschaft Gradle Build Directory (Gradle-Build-Verzeichnis) fest: wie in Abbildung 1 dargestellt.
Abbildung 1. Attribut Gradle Build Directory
Legen Sie außerdem das Anwendungsmodul, die Anwendungsvariante und das APK Name (wie in der vorherigen Abbildung gezeigt), damit MSBuild Bescheid weiß. was erstellt werden soll.
- Anwendungsmodul: Der Name des Gradle-Unterprojekts. Dies ist die wichtigste
in der Datei
settings.gradle
festgelegt ist. Sie heißt in der Regelapp
Projekten, die direkt mit Android Studio erstellt wurden. - Anwendungsvariante: Die Android-Variante, die erstellt werden soll. Dieser Wert sollte
gemäß den MSBuild-Konfigurationen festgelegt. Ein Debug-Build
muss ein Wert auf die Debug-Variante festgelegt sein. Wenn Ihr Projekt MSBuild ist
Konfigurationsname mit den Gradle-Variantennamen übereinstimmt, verwenden Sie einfach die
Standardwert
$(Configuration)
. - APK-Name: Der Name der generierten APK-Datei, die für die Fehlerbehebung und
Profilerstellung auf Ihrem Entwicklungscomputer. Dieser Name wird an Gradle übergeben und
sollte dies vom Gradle-Build-Skript berücksichtigt werden (siehe
MSBUILD_ANDROID_OUTPUT_APK_NAME
.
Gradle-Build-Skripts ändern
Während des Builds übergibt MSBuild die folgenden Informationen als Projekteigenschaften
in das Gradle-Skript ein. Ändern Sie die vorhandenen Build-Skripts Ihres Projekts (in der Regel
build.gradle
) hinzu, um diese Attribute zu lesen.
MSBUILD_MIN_SDK_VERSION
: Die mindestens erforderliche SDK-Version zum Erstellen des APK. Festlegen Diesen Wert im Feld Minimum Android SDK Version (Mindestversion des Android SDK) für das Projekt (siehe Abbildung 2).
Abbildung 2. Attribut Minimum Android SDK VersionIm Gradle-Build-Skript sollte
minSdkVersion
auf diesen Wert festgelegt werden, wie hier gezeigt. unten.Cool
android { // ... defaultConfig { applicationId "com.yourcompany.yourapp" minSdkVersion MSBUILD_MIN_SDK_VERSION // ... } // ... }
Kotlin
android { // ... defaultConfig { applicationId = "com.yourcompany.yourapp" minSdkVersion(MSBUILD_MIN_SDK_VERSION) // ... } // ... }
MSBUILD_ANDROID_OUTPUT_APK_NAME
: Der erwartete Name des APK, das Gradle verwendet. baut. Die Android-Erweiterung für die Spieleentwicklung sucht nach einem APK mit diesem Namen und und es dann auf verbundenen Geräten bereitstellen (zur Fehlerbehebung und Profilerstellung). Festlegen Wert in das Feld APK-Name auf der Seite mit den Projekteigenschaften ein (siehe Abbildung 3).
Abbildung 3. Eigenschaft APK-NameDas Gradle-Build-Skript muss diese Eigenschaft berücksichtigen. Beispiel: Der Parameter Im folgenden Beispiel wird der Name des Ausgabe-APKs für alle Varianten auf den Namen von MSBuild ausgewählt.
Cool
android { // ... applicationVariants.all { variant -> variant.outputs.all { outputFileName = MSBUILD_ANDROID_OUTPUT_APK_NAME } } // ... }
Kotlin
android { // ... applicationVariants.all { variant -> variant.outputs.all { outputFileName = MSBUILD_ANDROID_OUTPUT_APK_NAME } } // ... }
MSBUILD_JNI_LIBS_SRC_DIR
: Verzeichnis, das die gemeinsam genutzten Bibliotheken enthält (.so
Dateien) erstellt von MSBuild. Legen Sie diesen Wert im Ausgabeverzeichnis fest. unten auf der Seite mit den Projekteigenschaften. Standardmäßig ist dieser Wert der Wert für das Visual Studio-Projekt festlegen, wie in Abbildung 4 dargestellt.
Abbildung 4. Attribut Output Directory (Ausgabeverzeichnis)Gradle sollte die Dateien der gemeinsam genutzten Bibliothek in diesem Ordner innerhalb des APK verpacken damit die Android-App sie zur Laufzeit laden kann.
Cool
android { // ... sourceSets { main { jniLibs.srcDirs += [MSBUILD_JNI_LIBS_SRC_DIR] } } // ... }
Kotlin
android { // ... sourceSets.getByName("main") { jniLibs.srcDir(MSBUILD_JNI_LIBS_SRC_DIR) } // ... }
Da jeder C/C++ Code jetzt von MSBuild erstellt wird, sollten Sie außerdem den Parameter
externalNativeBuild
-Abschnitte in den Gradle-Build-Skripts. Diese Abschnitte verwendet, um CMake oder ndk-build aufzurufen, um Ihren C/C++ Code zu kompilieren. nicht mehr benötigt.MSBUILD_NDK_VERSION
: Die Version des NDK, die zum Erstellen der Datei verwendet werden soll. Projekt arbeiten. Legen Sie diesen Wert im Feld Android NDK Version (Android-NDK-Version) auf der Seite der Projekteigenschaften (siehe Abbildung 5).
Abbildung 5. Eigenschaft Android NDK VersionIm Gradle-Build-Skript sollte
ndkVersion
auf diesen Wert festgelegt werden:Cool
android { // ... ndkVersion MSBUILD_NDK_VERSION // ... }
Kotlin
android { // ... ndkVersion = MSBUILD_NDK_VERSION // ... }
Weitere Informationen findest du im Android Studio-Thema Installieren und konfigurieren Sie das NDK und CMake.