Projekt konfigurieren

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:

  1. Wählen Sie Erstellen > Konfigurationsmanager.
  2. Wählen Sie unter Aktive Lösungsplattform die Option <Neu> aus.
  3. Geben Sie für die neue Plattform einen der folgenden Werte ein:

    • Android-Armeabi-V7a
    • Android-Arm64-v8a
    • Android X86
    • Android-x86_64
  4. 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 Regel app 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 Version

    Im 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-Name

    Das 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 Version

    Im 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.