Cómo modificar archivos build.gradle para Android Studio

En esta guía, se describe cómo modificar archivos build.gradle de proyectos AGDE para poder abrirlos en Android Studio. Está principalmente destinada a ingenieros de compilación que administran proyectos de AGDE.

Después de realizar los cambios de esta guía, deberías poder hacer lo siguiente:

  • Compilar con Gradle desde la línea de comandos y Android Studio
  • Compilar APK con varias ABI y paquetes de aplicaciones
  • Editar las fuentes que son completamente compatibles con el servicio de lenguaje (Ir a la definición, etc.) en Android Studio
  • Usar depuradores de Android Studio para procesos nativos y mixtos

Esta función de AGDE se basa en la de tipo experimental del complemento de Android para Gradle y admite Ninja como sistema de compilación.

Modifica el archivo build.gradle a nivel de proyecto

Cambia el nivel de proyecto build.gradle para hacer referencia a la versión 7.3.0-alpha02 o posterior del complemento de Android para Gradle. Por ejemplo:

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

Después de este realizar este cambio, deberías poder compilar tu proyecto en Visual Studio. Te recomendamos que lo pruebes ahora, ya que será más fácil depurarlo antes de realizar los cambios que se detallan a continuación.

Copia run-msbuild.bat en tu proyecto

El ejemplo de la tetera que se envía con las versiones más recientes de AGDE tiene una secuencia de comandos llamada run-msbuild.bat. Se llamará a esta secuencia de comandos desde AGP y esta es responsable de ubicar e invocar MSBuild.

Copia run-msbuild.bat en la carpeta que contiene el archivo build.gradle a nivel de la app.

Modifica el archivo build.gradle a nivel de la app

Los objetivos principales de este paso son configurar la llamada a run-msbuild.bat y quitar las referencias a variables de MSBUILD_*.

Cómo configurar ndkVersion

Cambia ndkVersion a una versión específica del NDK. Por ejemplo:

  android {
      ndkVersion "22.1.7171670"
  }

Cómo configurar minSdkVersion

Cambia minSdkVersion a una versión mínima del SDK específica. Por ejemplo:

  android {
      defaultConfig {
          minSdkVersion 30
      }
  }

Cómo invocar a run-msbuild.bat

  1. Agrega una sección para invocar a run-msbuild.bat en el archivo de solución del proyecto.

       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. Borra cualquier uso de MSBUILD_JNI_LIBS_SRC_DIR, MSBUILD_ANDROID_OUTPUT_APK_NAME y MSBUILD_ANDROID_GRADLE_BUILD_OUTPUT_DIR.

    Por lo general, los siguientes bloques del archivo build.gradle a nivel de la app se pueden borrar por completo.

       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
    

Comentarios

Esta función es experimental, por lo que apreciamos los comentarios. A continuación, te mostramos cómo enviarlos:

  • Para enviar comentarios generales, puedes agregar uno a este error.
  • Para informar un error, abre Android Studio y haz clic en Help > Submit Feedback. Asegúrate de hacer referencia a "Sistemas de compilación de C/C++ personalizados" para ayudar a corregir el error.
  • Si no tienes Android Studio instalado, haz clic en este vínculo.