build.gradle-Dateien für Android Studio ändern

In dieser Anleitung wird beschrieben, wie Sie build.gradle-Dateien aus AGDE-Projekten ändern, damit Sie sie in Android Studio öffnen können. Sie ist in erster Linie für Entwickler gedacht, die AGDE-Projekte verwalten.

Nach den Änderungen in diesem Leitfaden sollten Sie Folgendes können:

  • Mit Gradle über die Befehlszeile und Android Studio erstellen
  • Erstellen Sie Multi-ABI-APKs und App Bundles.
  • Bearbeiten Sie Quellen mit vollständiger Sprachunterstützung (Go-to-Definition usw.) in Android Studio.
  • Verwenden Sie Android Studio-Debugger, um Fehler in nativen und gemischten Prozessen zu beheben.

Diese AGDE-Funktion basiert auf der experimentellen Android-Gradle-Plug-in-Funktion zur Unterstützung von Ninja als Build-System.

build.gradle-Datei auf Projektebene ändern

Ändern Sie die build.gradle auf Projektebene so, dass sie auf das Android-Gradle-Plug-in Version 7.3.0-alpha02 oder höher verweist. Beispiele:

buildscript {
    repositories {
       google()
       mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.3.0-alpha02'
    }
}

Nach dieser Änderung sollten Sie Ihr Projekt weiterhin in Visual Studio erstellen können. Wir empfehlen Ihnen, dies jetzt zu versuchen, da die Fehlerbehebung einfacher ist, bevor Sie die folgenden Änderungen vornehmen.

Kopieren Sie run-msbuild.bat in Ihr Projekt

Das Teapot-Beispiel, das mit den neuesten Versionen von AGDE ausgeliefert wird, hat ein Skript mit dem Namen run-msbuild.bat. Dieses Skript wird von AGP aufgerufen und ist für das Suchen und Aufrufen von MSBuild verantwortlich.

Kopieren Sie run-msbuild.bat in den Ordner, der die Datei build.gradle auf App-Ebene enthält.

Datei build.gradle auf App-Ebene ändern

Die Hauptziele dieses Schritts sind das Konfigurieren des Aufrufs von run-msbuild.bat und das Entfernen von Verweisen auf MSBUILD_*-Variablen.

ndkVersion festlegen

Ändern Sie ndkVersion in eine bestimmte NDK-Version. Beispiele:

  android {
      ndkVersion "22.1.7171670"
  }

minSdkVersion festlegen

Ändern Sie minSdkVersion in eine bestimmte SDK-Mindestversion. Beispiele:

  android {
      defaultConfig {
          minSdkVersion 30
      }
  }

run-msbuild.bat aufrufen

  1. Fügen Sie einen Abschnitt hinzu, um run-msbuild.bat in der Lösungsdatei des Projekts aufzurufen.

       android {
           defaultConfig {
               externalNativeBuild {
                   experimentalProperties["ninja.abiFilters"] = [ "x86", "arm64-v8a" ]
                   experimentalProperties["ninja.path"] = "Teapot.sln"
                   experimentalProperties["ninja.configure"] = "run-msbuild"
                   experimentalProperties["ninja.arguments"] = [
                           "\${ndk.moduleMakeFile}",
                           "-p:Configuration=\${ndk.variantName}",
                           "-p:Platform=Android-\${ndk.abi}",
                           "-p:NinjaBuildLocation=\${ndk.buildRoot}",
                           "-p:NinjaProject=GameApplication",
                           "-p:RequireAndroidNdkVersion=\${ndk.moduleNdkVersion}",
                           "-p:RequireMinSdkVersion=\${ndk.minPlatform}",
                           "-t:GenerateBuildNinja"
                    ]
               }
           }
       }
    
  2. Löschen Sie alle Verwendungen von MSBUILD_JNI_LIBS_SRC_DIR, MSBUILD_ANDROID_OUTPUT_APK_NAME und MSBUILD_ANDROID_GRADLE_BUILD_OUTPUT_DIR.

    In der Regel können die folgenden Blöcke in der Datei build.gradle auf Anwendungsebene vollständig gelöscht werden.

       sourceSets {
           main {
               jniLibs.srcDirs = [MSBUILD_JNI_LIBS_SRC_DIR]
           }
       }
    
       applicationVariants.all { variant ->
           variant.outputs.all {
               outputFileName = MSBUILD_ANDROID_OUTPUT_APK_NAME
           }
       }
    
       buildDir = MSBUILD_ANDROID_GRADLE_BUILD_OUTPUT_DIR
    

Feedback

Diese Funktion befindet sich noch in der Testphase. Daher würden wir uns über Feedback freuen. Gehen Sie dazu so vor:

  • Für allgemeine Kommentare und Feedback können Sie diesen Fehler kommentieren.
  • Wenn Sie einen Fehler melden möchten, öffnen Sie Android Studio und klicken Sie auf Hilfe/Feedback geben. Verweise auf „Benutzerdefinierte C/C++-Build-Systeme“, um auf den Fehler aufmerksam zu machen.
  • Klicke auf diesen Link, wenn du Android Studio nicht installiert hast.