Modificare i file build.gradle per Android Studio

Questa guida descrive come modificare i file build.gradle dai progetti AGDE per poterli aprire in Android Studio. È destinato principalmente agli ingegneri edili che gestiscono progetti AGDE.

Dopo le modifiche apportate a questa guida, dovresti essere in grado di:

  • Crea con Gradle dalla riga di comando e Android Studio.
  • Crea APK e app bundle multi-ABI.
  • Modifica le origini con il supporto completo dei servizi linguistici (definizione go-to ecc.) in Android Studio.
  • Utilizzare i debugger di Android Studio per eseguire il debug di processi nativi e misti.

Questa funzionalità di AGDE è basata sulla funzionalità sperimentale del plug-in Android per Gradle per supportare Ninja come sistema di build.

Modifica il file build.gradle a livello di progetto

Modifica l'elemento build.gradle a livello di progetto per fare riferimento al plug-in Android per Gradle versione 7.3.0-alpha02 o successive. Ecco alcuni esempi:

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

Dopo questa modifica, dovresti essere ancora in grado di creare il tuo progetto in Visual Studio. Ti consigliamo di provare ora poiché sarà più facile eseguire il debug prima di apportare le modifiche indicate di seguito.

Copia run-msbuild.bat nel progetto

L'esempio di Teapot fornito con le versioni più recenti di AGDE ha uno script chiamato run-msbuild.bat. Questo script verrà chiamato da AGP ed è responsabile di individuare e richiamare MSBuild.

Copia run-msbuild.bat nella cartella che contiene il file build.gradle a livello di app.

Modifica il file build.gradle a livello di app

Gli obiettivi principali di questo passaggio sono configurare la chiamata a run-msbuild.bat e rimuovere i riferimenti alle variabili MSBUILD_*.

Imposta ndkVersion

Imposta ndkVersion su una versione NDK specifica. Ecco alcuni esempi:

  android {
      ndkVersion "22.1.7171670"
  }

Imposta minSdkVersion

Modifica minSdkVersion impostandolo su una versione minima dell'SDK specifica. Ecco alcuni esempi:

  android {
      defaultConfig {
          minSdkVersion 30
      }
  }

Richiama run-msbuild.bat

  1. Aggiungi una sezione per richiamare run-msbuild.bat nel file della soluzione per il progetto.

       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. Elimina tutti gli utilizzi di MSBUILD_JNI_LIBS_SRC_DIR, MSBUILD_ANDROID_OUTPUT_APK_NAME e MSBUILD_ANDROID_GRADLE_BUILD_OUTPUT_DIR.

    In genere, i seguenti blocchi nel file build.gradle a livello di app possono essere eliminati del tutto.

       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

Questa funzionalità è sperimentale, quindi il tuo feedback è molto importante. Ecco come fornirlo:

  • Per commenti e feedback generici, puoi aggiungere un commento a questo bug.
  • Per segnalare un bug, apri Android Studio e fai clic su Guida/Invia feedback. Assicurati di fare riferimento a "Sistemi di build C/C++ personalizzati" per indirizzare il bug.
  • Fai clic su questo link se non hai installato Android Studio.