Saltar a contenido

90. Android Studio (AS)

Documentación oficial

90.1 Configurar la compilación

El sistema de compilación (y construcción de la app) usa Gradle, a través del plug-in de AS. Para ello utiliza los ficheros fuente, recursos y libreriar para crear el APK de la aplicación.
Gradle y Gradle Android plug-in son independientes de AS y pueden ejecutarse desde la línea de comanodos.

90.2 Build process

En la construcción de la app Gradle invoca varias herramientas. Cada proyecto puede tener objetivos de compilación distinto. Por ejemplo crear una libreria Android AAR (Android Archive) o archivo java JAR. Lo más frecuente es crear una app con formato APK o AAB.

90.3 Glosario de "Android build"

  • Build types
  • Prodct flavor (sabores de p)
  • Build variants
  • Entradas del Manifest
  • Dependencias
  • Firmas
  • Código y contracción de recursos
  • Multiples APK

90.4 FICHEROS DE configuracion de la compilación.

El programa Gradle es el preferido para usar en Android Studio. Se puede ejecutar independientemente del IDE como línea de comandos. Gradle utiliza algunos ficheros para u funcionamiento.

90.5 Fichero "Gradle wrapper"

90.6 Fichero "Gradle settings"

El fichero settings.gradle.kts define repositorios y configuración a nivel de proyecto y es utilizado por Gradle para incluir los módulos en el proceso de compilación

pluginManagement {

    /**
      * The pluginManagement.repositories block configures the
      * repositories Gradle uses to search or download the Gradle plugins and
      * their transitive dependencies. Gradle pre-configures support for remote
      * repositories such as JCenter, Maven Central, and Ivy. You can also use
      * local repositories or define your own remote repositories. The code below
      * defines the Gradle Plugin Portal, Google's Maven repository,
      * and the Maven Central Repository as the repositories Gradle should use to look for its
      * dependencies.
      */

    repositories {
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}
dependencyResolutionManagement {

    /**
      * The dependencyResolutionManagement.repositories
      * block is where you configure the repositories and dependencies used by
      * all modules in your project, such as libraries that you are using to
      * create your application. However, you should configure module-specific
      * dependencies in each module-level build.gradle file. For new projects,
      * Android Studio includes Google's Maven repository and the Maven Central
      * Repository by default, but it does not configure any dependencies (unless
      * you select a template that requires some).
      */

  repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
  repositories {
      google()
      mavenCentral()
  }
}
rootProject.name = "My Application"
include(":app")

90.7 El fichero principal de compilación y construcción de la aplicación

build.gradle.kts

plugins {

    /**
     * Use `apply false` in the top-level build.gradle file to add a Gradle
     * plugin as a build dependency but not apply it to the current (root)
     * project. Don't use `apply false` in sub-projects. For more information,
     * see Applying external plugins with same version to subprojects.
     */

    id("com.android.application") version "8.1.0" apply false
    id("com.android.library") version "8.1.0" apply false
    id("org.jetbrains.kotlin.android") version "1.9.10" apply false
}

90.8 Versión y otro

Enlaces:
* documentación
* Hoja teclas

ver 0.5, 31-10-23